/*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")或者在工程属性 连接器-输入-附加依赖项添加(附加依赖项方式未验证,看别人用过)
---------------------------------------------------------------------------------------------
结构体内不允许有无参的构造函数。