|
VC++ 에서 만든 DLL 을 만들어서 써보려고 하는데요.
테스트용으로 행렬의 행렬식을 계산하는 함수를 만들어서
DLL로 불러들여서 실행시켜 보았는데,
실행시키자 마자 자꾸 종료가 되네요.
DLL 에 문제가 있는 줄 알았는데,
ShowMessage 함수를 이용해서 DLL에서 읽어들인 함수가 제대로 작동하는지 확인을 해 보니,
작동은 하네요.
제가 코딩한 내용은 다음과 같습니다.
***************************************************************************************
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
double et[]={4,0,1,-2};
double (_stdcall* Determinant)(double * array);
HINSTANCE hinst;
hinst=LoadLibrary("testDLL.dll");
Determinant = (double (_stdcall*)(double * array))GetProcAddress(hinst, "Determinant");
StringGrid1->Cells[0][0]=Determinant(et); // 답 => -8
ShowMessage( FloatToStr(Determinant(et)) ); // Message는 "-8"이라고 뜸.
FreeLibrary(hinst);
}
***************************************************************************************
왜 실행을 시키면 "-8"이란 메세지만 떴다가
프로그램이 종료가 되는 건지...
문제가 뭘까요?
지금 몇 시간 째 낑낑대고 있는데...
좀 가르쳐 주세요.... T.T
|