什么是DLL文件?
DLL(Dynamic Link Library,动态链接库)是Windows系统中用于共享代码和资源的文件格式。通过将C语言代码编译成DLL,可以在多个程序之间复用功能,而无需重复编译。
准备工作
你需要以下工具之一:
- MinGW / GCC:适用于命令行编译
- Microsoft Visual Studio:集成开发环境,支持图形化操作
使用GCC编译DLL(MinGW)
假设你有一个名为 math_utils.c 的C文件:
// math_utils.c
#include <windows.h>
__declspec(dllexport) int add(int a, int b) {
return a + b;
}
编译命令如下:
gcc -shared -o math_utils.dll math_utils.c
生成的 math_utils.dll 即可在其他程序中调用。
使用Visual Studio创建DLL项目
- 打开 Visual Studio,选择“创建新项目”
- 选择“动态链接库 (DLL)”模板
- 编写导出函数,并使用
__declspec(dllexport)标记 - 点击“生成”即可在输出目录获得 .dll 文件
注意事项
- 确保导出函数使用
__declspec(dllexport) - 若需跨语言调用(如Python、C#),建议使用 C 风格接口(extern "C")
- 调试DLL时可配合 .def 文件或使用 dumpbin 工具查看导出符号
常见问题
Q:编译后找不到DLL?
A:请检查输出路径,通常位于 Debug 或 Release 文件夹中。
Q:调用DLL时报错“无法找到入口点”?
A:确认函数是否正确导出,避免C++名称修饰问题。