 |
BCB包括所有API的定义,调用API函数和VC++一样不需要特殊的声明。
调用其他DLL函数,可以使用它的命令行工具implib生成.lib文件,然后加入BCB工程即可。
BCB在选择工程设置的选项后可以使用MFC类库。一般情况下,BCB使用AnsiString类,功能也很强。
XJ Wang问:
C++builder call DLL的函数时如何申明函数,在什么位置申明?谢谢!!!
答:只需要把函数的原型写上就可以了,通常放在头文件中,但也可以放在其他地方,只要是在调用前声明就可以了。例如要调用abc函数,只要这样:
int abc(int d);
郭艳 问:我想问一下,怎么在c++Builder6.0中调用用VC6.0生成的DLL呢?
操作系统:Win2k
编程工具:c++builder 6.0
我的做法是:在VC中编写DLL时,使用了.def文件,在出口函数声明时也在前面加上了__declspec(dllexport)说明。把在VC中生成的LIB文件加入到工程中,把VC生成的DLL文件放在了当前目录下,再在工程中加入DLL出口函数的声明(函数名前加上了WINAPI,即__stdcall;每个函数定义的最前面也加上了__declspec(dllimport))。
build 该工程出现如下错误:
[Linker Error] 'G:\使用动态链接库1\KG429.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
拜托了!
答:不能使用VC++生成的lib,而必须使用BCB的命令行工具implib生成的.lib文件。而且由于BCB和VC++成立函数名转换的做法不同。所以在VC中最好是输出函数为C函数的DLL,如果输出函数是C++类,则可能无法调用。
相关问题:
QA003406 "在Delphi下制作的动态库,如何在C++ Builder或VC中调用"
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, Windows API, win32, api, windows api, gdi32, kernel。
|