$ gcc -m32 hw3.c -o hw3
Undefined symbols:
"i", referenced from:
_main in ccuNMbgT.o
_main in ccuNMbgT.o
(maybe you meant: _i, _main , cstring=hey, supposed to supply an integer argument , cstring=after multiply, value is %d
, _i$non_lazy_ptr , _printf , _environ , _atoi , _exit )
ld: symbol(s) not found
collect2: ld returned 1 exit status
我正在使用一些 C 语言进行汇编。我正在尝试编译一个在使用 gcc
编译的 Ubuntu 上运行的示例,但它无法在我的 Mac 终端上运行。
最佳答案
它告诉你问题并给你解决方案(“也许你的意思是:......”)。 C 符号在汇编程序中是否在其前面添加下划线是高度依赖于平台的事情之一;在 OS X 上是这样,所以当在 C 中引用名为“i”的变量时,您必须在汇编程序中将其称为“_i”。
关于无法在我的 Mac 上编译程序集!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366887/