Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.164.151] |
|
Страницы: (8) « Первая ... 6 7 [8] все ( Перейти к последнему сообщению ) |
Сообщ.
#106
,
|
|
|
Цитата kms @ сделал вот так , только вывод идет символов , надо преобразовать каждый символ в шестнадцатеричное число Просто поставь там вместо const bool raw = false), – const bool raw) Добавлено А еще лучше, покажи код |
Сообщ.
#107
,
|
|
|
вот еще один вариант нашел на других сайтах
.... case HSCLI_ET_ARRA: { // 1 Массив байтов заданной длины std::vector<char> arr(p, p + Query1.GetColumnsInfo(j)->len ) ; stream << Char2Hex( arr , Query1.GetColumnsInfo(j)->len ) << " "; } break; ..... .... std::string Char2Hex(std::vector<char> i_chars , size_t i_size) { static char hex_array[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; std::string result; result.resize(i_size * 2); for (size_t i = 0; i < i_size; ++i) { result[2 * i] = hex_array[i_chars[i] / 16]; result[2 * i + 1] = hex_array[i_chars[i] % 16]; } return result; } Добавлено Цитата Олег М @ А еще лучше, покажи код сейчас секунду Добавлено case HSCLI_ET_ARRA: { // 1 Массив байтов заданной длины std::vector<char> arr(p, p + Query1.GetColumnsInfo(j)->len ) ; FormatBinary( stream, &arr, Query1.GetColumnsInfo(j)->len, true); //stream << Char2Hex(arr, Query1.GetColumnsInfo(j)->len ) << " "; } break; ... static void FormatBinary(std::ostream &out, std::vector<char> *data, size_t sz , const bool raw ) { if (!sz || !data) return; const size_t _n = (raw ? sizeof("'\\xXX',") : sizeof("XX")) - 1; //char buf[(sz * _n) + 1]; char *buf = new char[(sz * _n) + 1]; char *psz = buf; for (auto end = data + sz; data != end; ++data, psz += _n) sprintf (psz, raw ? "'\\x%02X'," : "%02X", *data); out << psz; } Добавлено ошибка ОшибкаC4996'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.HyTech c:\users\admin\desktop\3_hytech_2class\hytech\main.cpp 143 Добавлено ошибку нашел #define _CRT_SECURE_NO_WARNINGS Добавлено теперь запускается но вываливается Вызвано исключение по адресу 0x7710E49B (ntdll.dll) в HyTech.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00000000. Если для этого исключения имеется обработчик, выполнение программы может быть продолжено безопасно. |
Сообщ.
#108
,
|
|
|
у меня вопрос такой если сейчас оставить в таком виде , то что будет быстрее работать если просто вставлять класс в свое приложение,
либо упаковать в DLL-ку и использовать DLL я понимаю что dll-ка в момент запуска приложения будет получать свой участок в памяти и как бы дополнительных затрат не будет , но все таки может вставить код в свою прогу будет производительней ? |
Сообщ.
#109
,
|
|
|
Цитата kms @ у меня вопрос такой если сейчас оставить в таком виде , то что будет быстрее работать если просто вставлять класс в свое приложение, либо упаковать в DLL-ку и использовать DLL я понимаю что dll-ка в момент запуска приложения будет получать свой участок в памяти и как бы дополнительных затрат не будет , но все таки может вставить код в свою прогу будет производительней ? Не на том экономишь. В твоем случае не будет. Плюс ко всему - вспомни зачем ты пилишь DLL? Если у тебя ГУИ будет на С++ то можешь не заморачиваться с dll. Добавлено Вообще какие затраты? Измерь вызов функции из класса и из dll, отпиши тут результаты. Потом подумай - имеет ли такая экономия в твоем случае право на жизнь? |
Сообщ.
#110
,
|
|
|
Цитата KILLER @ Если у тебя ГУИ будет на С++ то можешь не заморачиваться с dll. в таком варианте я понял что лучше лишнюю dll-ку не делать , и вариант на С++/CLI я сделаю просто на классах сразу дергать предоставленные dll-ки hscli.dll Цитата KILLER @ Вообще какие затраты? Измерь вызов функции из класса и из dll, отпиши тут результаты. Потом подумай - имеет ли такая экономия в твоем случае право на жизнь? ОК буду пробывать KILLER да еще выложил все это хозяйство , https://github.com/vovakms там уже учел твои слова #47 правильное программирование БД но все равно до конца по правильному доделывать не стал , потому что если делать по правельному то надо синхронизироваться со студией и так далее а MSстудию2015 не каждый захочет устанавливать , а так по простенькому открыл подредактировал посмотрел если что откатился если не составит труда посмотри , как что там прокоментируй |
Сообщ.
#111
,
|
|
|
Цитата kms @ и вариант на С++/CLI я сделаю просто на классах сразу дергать предоставленные dll-ки hscli.dll Я ж тебе писал уже, C++/CLI - нужен для написания связующего кода между управляемым и не управляемым. Зачем на нем то писать программу? Цитата kms @ если не составит труда посмотри , как что там прокоментируй Ну время как будет, посмотрю. |
Сообщ.
#112
,
|
|
|
KILLER ОК спасибо
|