VC中使用BCB写的DLL

本文介绍了在VC项目中如何成功调用由BCB编写的DLL,详细阐述了两种方法:通过IMPDEF生成DEF文件并使用VC的LIB创建适配的LIB文件,以及使用OMF2COFF转换程序将BCB的LIB转换为VC兼容格式。关键在于函数调用规则的统一和正确的链接过程。
摘要由CSDN通过智能技术生成

在程序设计中常常需要使用其它编程语言写的dll,最近我就碰到这个问题,别人使用BCB写了的DLL,而我是使用VC写的程序,我的程序中需要调用这个DLL。按照常规的方法加入lib,然后添加声明,编译链接,总是出错“error LNK2001: unresolved external symbol __imp__xuexi_Close”,经过一番折腾,最后总算是可以使用了。

使用BCB写的DLL如果不做任何的修改是无论如何也没法在VC的程序中使用的。原因就是BCB生成的lib与VC的不一样;

有2个方法:方法一

     使用BCB自带的IMPDEF程序将生成的DLL导出一个DEF文件,命令格式为 IMPDEF XX.DEF  XX.DLL,其中的XX表示文件名,执行这个命令后会生成一个文件XX.DEF

 

LIBRARY     xuexi.dll

EXPORTS
    _xuexi_Close                 @1   

    _xuexi_Init                     @2   

 

     接着修改XX.DEF文件是符合VC规则如下

LIBRARY  "XUEXI"

DESCRIPTION  "XUEXI LIBRARY"

EXPORTS

    xuexi_Close@0    @1

    xuexi_Init&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值