Некоторое время я пытался найти решение для следующей проблемы, но безуспешно:
файл: 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.
Я действительно понятия не имею, что не так. Может быть, кто-нибудь может дать мне совет?
Заранее спасибо.
Задача ещё не решена.
Других решений пока нет …