|
aaa 님이 쓰신 글 :
: csyu 님이 쓰신 글 :
: : dll 소스에서 dll로딩 할려고 하는데 계속 실패하네요 ㅠㅠ
: : 아마 경로가 문제인거 같은데, 어떻게 해야 하나요 ㅠㅠ
: :
: : ProAdd is <null> 이라고 나오네요
: :
: :
: : =============================================================================================
: :
: : strcpy(infile,"C:\\Users\\csyu\\Desktop\\HAWC_K110\\Hawc2\\D_DLL\\K110-2400kW_12P8RPM_fat_01.IN");
: : Data[49]=strlen(infile);
: : printf("\n\n infile is %s \t length is %f \n",infile,Data[49]);
: :
: : strcpy(outname,"powprod" );
: : Data[50]=strlen(outname);
: : printf(" outname is %s \t length is %f \n",outname,Data[50]);
: :
: : HINSTANCE hDLL= LoadLibrary(TEXT("C:\\Users\\csyu\\Desktop\\HAWC_K110\\Hawc2\\D_DLL\\F5_Gen1_Ctr_V1A30.dll"));
: : if (hDLL != NULL)
: : {
: : printf("\n success loading dll\n");
: : printf(" hDLL is %s\n",hDLL);
: : }
: : else
: : {
: : printf(" fault -- try again \n");
: : printf(" hDLL is %s\n",hDLL);
: : }
: :
: : ProAdd = (MYPROC)GetProcAddress(hDLL,"regulation");
: : if (ProAdd != NULL)
: : {
: : printf("\n success loading dll\n");
: : printf(" ProAdd is %s\n",ProAdd);
: : }
: : else
: : {
: : printf("\n fault -- try again \n");
: : printf(" ProAdd is %s\n",ProAdd);
: : }
:
: ProAdd = (MYPROC)GetProcAddress(hDLL,"regulation"); 여기가 문제네요
: dll내에 regulation 이란 함수명이 동일한가요?
: 또 ProAdd 함수형이 정의되어있나요?
: ProAdd 함수형이 dll내의함수형하고 동일한가요?
: 이부분체크하세요 함수형이나 함수명이 동일해야하고
: 함수형도 정의되야합니다 그래서 dll내에 함수를 찾지 못하는겁니다
제대로쓴다면 MYPROC ProAdd = (MYPROC)GetProcAddress(hDLL,"regulation");
이렇게 되겠죠
|