视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
总结vs2010调用lib,和dll
2025-10-02 18:40:26 责编:小OO
文档
       Vs2010调用lib和dll的总结

1.首先调用dll

  先用vs2010生成自己的dll文件,我命名为testdll.dll

   首先新建一个工程testdll,在工程中加入testdll.h和testdll.cpp

testdll.h内容为:

 extern "C" int __declspec(dllexport) add(int,int);

testdll.cpp内容为:

#include 

#include "testdll.h"

BOOL APIENTRY DllMain(HANDLE hModule,

       DWORD ul_reason_for_call,

       LPVOID lpReserved)

{

 switch(ul_reason_for_call)

 {

 case DLL_PROCESS_ATTACH:

 case DLL_THREAD_ATTACH:

 case DLL_THREAD_DETACH:

 case DLL_PROCESS_DETACH:

  break;

 }

 return TRUE;

}

int add(int a,int b)

{

 return a+b;

}

还有设置一下

编译就生成了testdll.dll库文件

再新建一个工程test

在test里面建立一个test.cpp

Test.cpp内容:

#include 

#include 

#include 

using namespace std;

int main()

{

 HINSTANCE hDll; //dll 句?柄À¨²

 hDll=LoadLibrary(TEXT("testdll.dll")); //加¨®载?dll

 typedef int(* lpAddFun)(int,int); //宏¨º定¡§义°?函¡¥数ºy指?针?类¤¨¤型¨ª

 lpAddFun addFun; //函¡¥数ºy指?针?

 int * num;

 if(hDll!=NULL) //判D断?dll加¨®载?是º?否¤?成¨¦功|

 {

  addFun=(lpAddFun)GetProcAddress(hDll,"add"); //获?取¨?想?要°a引°y入¨?的Ì?函¡¥数ºy以°?及¡ã变À?量¢?

  num=(int *)GetProcAddress(hDll,"num");

 /* if(num!=NULL)

  {

   printf("%d\\n",* num);

  }*/

  if(addFun!=NULL)

  {

   int result=addFun(3,2);

   printf("3+2=%d\\n",result);

  }

  FreeLibrary(hDll); //卸?载?dll

 }

 getchar();

 return 0;

}

设置三个地方,就可以编译了

第一:

上面打红圈的就是把testdll.dll的路径添加上去

第二:

  添加testdll.lib就可以了

 第三:

就是把testdll.dll路径添加到环境变量PATH中,就可以了。

再把VS2010关闭,再打开就可以运行。

2.调用lib

见这个链接很详细了,我就不写了很简单的

http://blog.csdn.net/mafuli007/article/details/7320663下载本文

显示全文
专题