Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Новый архив 3 (https://www.otvetnemail.ru/novyj-arhiv-3-813/)
-   -   Структура в памяти против QT (https://www.otvetnemail.ru/novyj-arhiv-3-813/struktura-v-pamyati-protiv-qt-255287/)

Guest 28.09.2011 15:05

Структура в памяти против QT
 
Есть указатель на область в памяти, и в этой памяти лежат: сначала DWORD, потом __int64, потом WORD, потом BYTE. То есть 4 байта, 8, 2 и 1. Делаю структуру:struct stnameAllFiles {Q_UINT32 dwFileSize;Q_UINT64 qwLastTime;Q_UINT16 wNameLenght;Q_UINT8 iTypeRecord;};И указатель на нее:stnameAllFiles* pstAllFiles;Присваиваю этому указателю:pstAllFiles = (stnameAllFiles*)lpv; lpv - указатель на память, где лежат числа.Так вот на pstAllFiles->dwFileSize выделяется 8 байт, на qwLastTime - 8 байт, на wNameLenght - 2, на iTypeRecord - 2.Посоветовали в настройках Visual Studio в Project - Settings... - C/C++ - Category: Code Generation - Struct member alignment поставить 1 Byte (а стояло 8 Byte). Но теперь в конструкторе функция QComboBox::insertStringList выдает Unhandled exception in MyProg.exe (QT-MT333.DLL): 0xC0000005: Access Violation.Как это победить?Qt 3.3.3, Visual Studio 6 SP6, WinXP SP2.


Часовой пояс GMT, время: 15:43.


© www.otvetnemail.ru - Форум вопросов и ответов.