C++ Builder 编写DLL库文件,并在库文件中调用第三方DLL

C++ Builder 编写DLL库文件,并在库文件中调用第三方DLL

编码文章call10242025-05-06 11:53:101A+A-

C++编写DLL动态库文件,我还是喜欢用RAD Studio的C++ Builder ,VC++编译后依赖库是真心不好整。但使用C++ Builder唯一不爽的是字符串的处理。下面我用个我在工作中自己写的小项目做讲解----如何编写通用的非托管的DLL,并在DLL中调用第三方DLL。

第一步,打开C++ Builder 10.4,新建DLL项目:

然后,在弹出框中这么选,并点OK:


第二步,给项目文件、代码文件、头文件重命名,并保存项目所有文件:

然后,我们把项目命名为:MyDllTest,代码文件也为:MyDllTest(.cpp),头文件也为:MyDllTest(.h),并保存在桌面的MyCode目录。


第三步,编写头文件(MyDllTes.h),声明DLL的导入、导出函数:

第四步,因为需要调用第三方DLL,所以把第三方DLL的头文件或说明文档找到,并在我们项目中的头文件(MyDllTest.h)中定义对应第三方DLL函数的指针类型:

第五步,编写DLL导出函数前,我们先定义或编写一些全局的代码,如引入头文件、公共函数、全局变量等:

1)我们先在代码文件(MyDllTest.cpp)中包含可能需要的.h头文件:

2)编写可能需要的公共函数、全局变量,如字符串类型的命名空间、map对象、字符串比较函数等:

到此,我们可以先编译一下是否有报错?

注:如果编译报错,需要设置:

3)我们把第三方DLL放在本DLL动态库文件(MyDllTest.dll)所在目录中,在同一目录就是为了方便我们下一步调用它:

4)因为第三方DLL动态库文件在我们编写的DLL的同一目录中,所以我要写一个函数来获取我们编写的DLL被应用程序调用时的目录,也就是我们的DLL调用第三方DLL文件的目录:

第六步,至此,我们需要做的准备工作就全部完成。因此,我们这步就开始编写DLL的导出函数的功能实现代码:

1)代码文件中导出函数名及参数与头文件的声明必须完全一致:

2)调用第三方DLL,实现读卡的功能:

注:在try前定义了7个带指针的局部变量,必须在__finally中释放这些变量。

最后,编译生成MyDllTest.dll动态库文件。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4