欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c,使用lib,dll

程序员文章站 2022-06-29 07:58:40
lib使用: #include "xxx.h" // lib的头文件 #pragma comment(lib, "xxx.lib") 这样会将lib里的数据编译到exe文件中 dll使用2种方法: 隐式调用: #pragma comment(lib, "testDll.lib")extern "C" ......

lib使用:

#include "xxx.h" // lib的头文件

#pragma comment(lib, "xxx.lib")

这样会将lib里的数据编译到exe文件中

dll使用2种方法:

隐式调用:

#pragma comment(lib, "testdll.lib")
extern "c" __declspec(dllimport) void test();

显式调用:

hmodule hmodule;
typedef void (*lpfun)();
hmodule = loadlibrary(text("testdll.dll"));
lpfun fun = (lpfun)getprocaddress(hmodule, "test");
fun();

 

生成安全的dll,看不到函数名

vs2010:

  头文件不用写 extern "c" __declspec(dllexport) void test();

  直接写 void test();

生成一个 xxx.def文件 , xxx任意文件名:

xxx.def:

exports
test @12 noname

这样生成的dll看不到函数名