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")或者在工程属性 连接器-输入-附加依赖项添加(附加依赖项方式未验证,看别人用过)

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

结构体内不允许有无参的构造函数。

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