구조체에 데이터를 세팅한후 DLL함수로 넘기면 값이 엉망이 되어 버립니다. +_+

이소희의 이미지

구조체에 값을 세팅해서 DLL함수로 보내주면 그 값들을 처리하는 함수를 만들었습니다.

값이 분명이 세팅되어 있는데, DLL쪽으로 가서 디버깅을 해보면, 잘 세팅 되어 있던 값들이 사라지거나, 다른 구조체 변수에 들어가 있습니다.

예를들면,,
구조체를 
typedef struct data
{
   char data[16];
   char data2[256];
   char data3[32];
}DATA;

이런 식으로 만들고,,
DATA d;
strcpy(d.data,"abc");
strcpy(d.data2,"이소희");
strcpy(d.data3,"하하하하");
이런식으로 했다고 했을때.

DLL로 넘겨주면.
d.data 에는 제대로 들어가 있지만,
d.data2 에는 " 이소희"
이런식으로 공백(NULL)이들어가서 보입니다.

DLL은 C/C++로 만들었습니다. C++ 클래스를 사용하였고 기타 별다른 사항은 없습니다.

chadr의 이미지

데이터를 넘겨주는 함수와 데이터를 받는 함수를 각각 올려주세요..

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

lovian의 이미지

구조체가 초기화 되지 않는 것이 마음에 걸리는군요.

-----------------
한글을 사랑합니다.

이소희의 이미지

해결했어요.
저의 부주의로인한...
버퍼오버플로우였네요.
:oops:

내 삶속에 던져진 나.