C程序DLL調用。砸七爛八的C。

/*hell 個人標籤*/pp,c內的#define 的使用範圍是本文件內,.h的話誰引誰可用。

 

動態庫生成時若沒有lib文件的話,是因爲沒有代入導出函數。

即:沒有定義

#ifdef _EXPORTING
#define CLASS_DECLSPEC    __declspec(dllexport)
#else
#define CLASS_DECLSPEC    __declspec(dllimport)
#endif

 

所以生成dll時沒有對應的lib文件。

-------------------------------------------------------------------------------------------------------

若只是使用DLL,不使用lib文件時,使用方法如下(非常不推薦):

typedef int (*ipadd)(int ,int);//若報Run-Time Check Failure #0,。。。declaration什麼的提示。是因爲沒有聲明這句。

void main()
{
 int a,b,c;
 HMODULE hdll;
 DWORD dw;
 //FARPROC proc;
 ipadd addf;

 a =10;
 b=11;
 hdll = LoadLibrary(TEXT("../Debug/C_DLL_IPMORT.dll"));  //加載dll

 dw = GetLastError();

 if(hdll!=NULL)
 {
  addf=(ipadd)GetProcAddress(hdll,"add");
  dw = GetLastError();
  if(addf!=NULL)
  {
   c=addf(a,b);
  } 
 }

 printf("qwer\n");
 printf("%d",c);
 getchar();
}

---------------------------------------------------------------------------------------------
#pragma comment (lib, "../Debug/scg_public.lib")或者在工程屬性 連接器-輸入-附加依賴項添加(附加依賴項方式未驗證,看別人用過)

---------------------------------------------------------------------------------------------

結構體內不允許有無參的構造函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章