愚蠢的问题,但我在gcc中找不到必要的标志。基本上,我在我的C程序中有以下内联汇编程序代码
__asm__ __volatile__ ("lea ebx, [timings] \n\t");
编译时,我得到一个错误消息,上面写着:Error: invalid char '[' beginning operand 2
[时间]'``
现在我记得很久以前我使用某种标志告诉编译器它是x86内联汇编。但无法在网上找到它,也许有人请告诉我哪个国旗我必须使用?
非常感谢你!
答案 0 :(得分:6)
您无法使用GCC指定变量。有关如何使用内联汇编程序的详细说明,请参阅this document。另外,请记住,GCC使用AT& T语法,而不是Intel语法,因此您必须将目的地放在右侧。
答案 1 :(得分:-2)
请尝试使用__asm__
。查看here了解更多信息。
另外,尝试从汇编代码中删除\ n \ t。