在做项目的时候,常常会是不同的成员之间的团队合作才完成的一项工程。比方说,我利用C++编写图像算法这一块的程序,另一位C#工程师做界面编程时需要调用我的图像处理函数,就需要涉及到动态链接库Dll的生成。
以下是自己摸索的创建过程:
1、文件-新建-项目-Win32控制台应用程序
图片示例过程如下:
建立自己想要的名称:
点下一步,
记得选择DLL+空项目选项。
2、分别在源文件下建立.cpp和.def,并在头文件下建立.h(注意三者的文件名必须一致)
2.1、建立.cpp文件:输入自己想要编译的程序代码,代码前需要包含#include“testdll.h”
2.2 建立.def模块定义文件:
2.3 在头文件里面建立一个.h文件
输入你想要的输出的函数:
__stdcall定义导出函数入口点调用约定为_stdcall
extern "C"说明导出函数使用C编译器,则函数名遵循C编译器的函数名修饰规则,不加extern "C"说明使用C++编译器的函数名修饰规则;
2.4 点击重新生成解决方案,生成成功就可以在对应的工程目录下得到Dll文件了
3、几点注意:
(1)生成Dll时尽量选择Release模式,这样生成的Dll文件大小比Debug模式小得多,而且在其他环境调用时速度会更快。
(2)使用def文件的意义:为了确保导出函数名和入口函数名不变。将编译器生成的函数修饰去掉,用更加自然,更加容易理解记忆的名字来命名函数,而并非是一串乱七八糟的字符。