应用程序与dll导出函数的通信方式
应用程序与DLL导出函数的”静态库“通信-C/C++
何为静态链接库和动态链接库的定义是一样的,区别就在于共享程序代码的方式。
程序一般是需要经过预处理,编译、汇编和链接几个步骤,静态库特点是可执行文件中包含了库代码的一分完整拷贝,缺点就是多次使用就会有多分冗余拷贝
静态库是在程序的链接阶段就复制到了程序里,和程序运行的时候没有关系,而动态库是在链接阶段没有被复制到程序中,而是在程序运行的时候由系统动态加载到内存中供程序使用。使用动态库的优点是系统只需要载入动态库,不同的程序可以得到内存中相同的的动态库的副本,来节约了内存。
首先在dll文件中定义函数和申明导出函数
然后新建应用程序来调用dll
1 连接使用静态库
#pragma comment(lib,"dll")
原型
#pragma comment(comment-type,["commentstring"])
comment-type是一个预定义的标识符,指定注释的类型,是compiler,exestr,lib,linker之一
commentstring是一个为comment-type提供附加消息的字符串
指定参数lib:
在#pragma comment中指定lib参数后,需要在后面添加路径,如果直接添加名字的话表示在本目录下得到静态库
然后申明对应的想要调用的函数
2添加lib和dll文件
lib文件的目录如果只是名字表示是在解决方案下的目录