在VC中调用BCB编写的标准DLL函数库

来源:互联网 发布:淘宝c店开店流程 编辑:程序博客网 时间:2024/05/21 07:09

在VC6中调用BCB6编写的DLL函数库,是完全可能的。但是调用的时候,要注意导入库的格式不兼容。需要做一点修改。
(1)C++builder中声明函数原型为:

extern "C" __declspec(dllimport) bool __stdcall Open(const char *xktype,char* devCom , char* szSetup);

(2)编译生成DLL文件后,用C++builder中的impdef工具,在命令行下导出def文件,如:
impdef ScaleWeight.dll -o > ScaleWeight.def

(3)修改def文件格式如下:

用记事本打def文件,在Open函数名后面,手动加上参数的大小@12(函数名和@之间无空格),即:参数个数*4,如果函数无参则为@0,保存DEF文件。
这一步是VC调用BCB6的DLL成功的关键。

(4)然后用VC++的LIB命令工具,如:
lib /DEF:ScaleWeight.def /MACHINE:IX86 /OUT:ScaleWeight.lib
生成相应的lib库,添加到VC6的工程中,注意文件包含的路径。

(5)包含dll的.h头文件到VC工程中,就可调用Open函数

在VC6中调了BCB6的DLL函数库

在VC2010中调用BCB6的DLL,同样可行。生成32位程序,调用方法和代码基本一样,无须修改。
原创粉丝点击