/*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")或者在工程屬性 連接器-輸入-附加依賴項添加(附加依賴項方式未驗證,看別人用過)
---------------------------------------------------------------------------------------------
結構體內不允許有無參的構造函數。