__declspec(dllimport) c структура: нарушение доступа
Некоторое время я пытался найти решение для следующей проблемы, но безуспешно:
- У меня есть "c" dll, где определена следующая структура:
файл: myDll.h
#ifdef EXPORTS
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif
EXPORT struct my_test
{
unsigned char dum0000001[2144];
int test1[32];
unsigned char test2[32];
} test;
В мой исполняемый файл C++ я включаю файл myDll.h и пытаюсь изменить test1 и test2:
extern "C"
{
#include "myDll.h"
}
int main(int argc, char** argv)
{
test.test1[0] = 0;
test.test2[0] = 0;
}
программа проходит правильно через:
test.test1[0] = 0;
но однажды
test.test2[0] = 0;
достигнуто, я получаю следующее исключение:
First-chance exception at 0x00401028 in test.exe: 0xC0000005: Access violation writing location 0x1000c030.
Я действительно понятия не имею, что не так. Может быть, кто-нибудь может дать мне совет?
Заранее спасибо.