C++Builder内嵌汇编问题

fanx 2006-09-15 08:50:18

asm {
push offset @nextLabel
@nextLabel:
}
这行代码在cb中无法编译通过,提示“Undefined Symbol @nextLabel”,而在delphi中却可以编译通过,delphi和cb都是用Tasm这种汇编语言的,为什么同样的语句cb无法编译呢?

...全文
141 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2006-09-15
  • 打赏
  • 举报
回复
bcb的内嵌汇编好像不支持LABEL,改用外部汇编就可以了
在程序头上第上行加:
#pragma inline
ccdjk 2006-09-15
  • 打赏
  • 举报
回复
这个问题我也遇到了
感觉BCB好象不支持@nextLabe标签
但是使用JMP @nextLabe是可以的
继续关注
fanx 2006-09-15
  • 打赏
  • 举报
回复
我说错了,是提示“Undefined Symbol nextLabel”
fanx 2006-09-15
  • 打赏
  • 举报
回复
改成 “&nextLabe”或“nextLabe”也不行,提示“nextLabe”
netliuming 2006-09-15
  • 打赏
  • 举报
回复
@nextLabe改为&nextLabe或直接nextLabe
fanx 2006-09-15
  • 打赏
  • 举报
回复
编译时,设置“Project->Options->Compiler->Code optimization”代码不优化,可以正常执行。
ccdjk 2006-09-15
  • 打赏
  • 举报
回复
添加#pragma inline后编译可以通过
但是执行会报错
fanx 2006-09-15
  • 打赏
  • 举报
回复

keiy的方法可行,加 #pragma inline 就可以了。

13,825

社区成员

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

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