用BCB调用Win32ASM写的dll(急,试验成功立即给分)

pig4210 2007-07-28 11:14:33
我需要使用一个Win32ASM写的dll,如何调用?
手中有源码.asm,.dll,.lib。
我加入lib以后提示:
“[Linker Error] '..........\XXX.LIB' contains invalid OMF record, type 0x21 (possibly COFF)”
那么我应该怎么做?.h文件怎么写?
...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pig4210 2007-07-29
  • 打赏
  • 举报
回复
我使用coff2omf转换后,把lib添加进工程,重写.h文件,包含之,调用成功。
因为Win32ASM写出来的dll是__stdcall调用格式,所以在转换的时候注意加参数:-lib:std

coff2omf -lib:std *.lib *_omf.lib。否则转换后的lib定位出错。

谢谢大家的帮助,问题解决了。
pig4210 2007-07-28
  • 打赏
  • 举报
回复
我用coff2omf.exe转换了lib文件,但是ASM编译出来的没有.h文件,如有一个函数是:
exfun(cha*,int);,我应该如何重构.h文件才能正确引用exfun?
i_love_pc 2007-07-28
  • 打赏
  • 举报
回复
可能是文件格式问题,c++builder使用的是omf格式

可以使用一个工具转换一下 coff2omf.exe
ccrun.com 2007-07-28
  • 打赏
  • 举报
回复
汗,打错。是implib.exe

lib.exe是VC提供的。
ccrun.com 2007-07-28
  • 打赏
  • 举报
回复
用BCB提供的lib.exe工具从dll文件中导出BCB能用的OMF格式lib,再添加到工程中就行了。
lailaiququ 2007-07-28
  • 打赏
  • 举报
回复
直接用显式加载

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧