我知道这是一个非常基本的问题,但我真的坚持住了。事实上,在GCC语法方面,我绝对是新手。
我希望有局部变量(带标签的堆栈地址),而不使用扩展的内联程序集。类似于Intel语法中的以下代码:
DATA1  DB  100 
MOV AL, DATA1这是GCC的代码,我猜可以用它来代替:
int someFunction(int x)
{
    __asm__ volatile(
                     "function1:"
                     ".data;"
                     ".2byte $4 data1   ;"
                     ".text;"
                     "pushq %rbp;"
                     "movq %rsp , %rbp ;"
                     "movl var , %eax;"  // this is source of error
                     "popq %rbp;"
                     "leaveq;"
                     "retq ; "
                    ); 
}但是,这段代码会导致以下错误:
在体系结构x86_64中找不到符号
我可以在x86中使用全局变量,但同样的结果出现在x64或x86_x64中。
设置: LLVM 4.1;Xcode 4中使用的Cocoa
正确的语法是什么?
发布于 2013-01-10 07:54:43
https://stackoverflow.com/questions/14155046
复制相似问题