__declspec(dllimport) c структура: нарушение доступа

Некоторое время я пытался найти решение для следующей проблемы, но безуспешно:

  1. У меня есть "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.

Я действительно понятия не имею, что не так. Может быть, кто-нибудь может дать мне совет?

Заранее спасибо.

0 ответов

Другие вопросы по тегам