模块dll和lib
Posted 芬乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块dll和lib相关的知识,希望对你有一定的参考价值。
一、dll动态链接库
1.dll 没有 main 函数
2.不能直接执行,可以注入exe中让它间接执行。只有把它编译到应用程序中才可以。
3.编写dll
函数前加上 _declspec(dllexport) void go(){}
二、lib(静态链接库)
若要使用 lib,则需要将他放在源文件那个目录下。
1.加载lib有两种方式:
- 配置中加入lib库
- 代码: #pragma comment(lib,“a.lib”) 虽然不加头文件会自动寻找库,但最 好还是加上好一点。
2.作为一个lib理论上都会有一个头文件。
a.h
int add(int b , int c)
a.c(将他编译成lib文件a.lib)
int add(int b , int c){
return b+c;
}
链接器中要有lib文件他才能自己找到。
3.C语言中没有头文件会自动寻找库。
以上是关于模块dll和lib的主要内容,如果未能解决你的问题,请参考以下文章
[解决异常] 未经处理的异常 "无法加载 DLL“lib/xxx.dll”: 找不到指定的模块"
无法为模块 XML::LibXML 加载“C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll”