作者typecommand (:))
看板ASM
标题[问题] 用C编译器所产生的组语不能编译
时间Thu Nov 6 00:49:42 2008
※ [本文转录自 C_and_CPP 看板]
作者: typecommand (:)) 看板: C_and_CPP
标题: [问题] 用C编译器所产生的组语不能编译
时间: Thu Nov 6 00:49:16 2008
在下用gcc or arm-linux-gcc将c program (hello world)
直接产生assembly code (gcc -S main.c or arm-linux-gcc -S main.c)
接下来就执行如下的动作
as or arm-linux-as -o main.o main.s 没有错误讯息
ld or arm-linux-ld -o main main.o 错误讯息如下
arm-linux-ld: warning: cannot find entry symbol _start; defaulting to 00008074
main.o: In function 'main':
main.o(.text+0x10): undefined reference to 'printf'
请问各位高手,要如何编译由gcc编译器所产生的assembly code,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.108.117
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.108.117
1F:推 CriLit:你没有 link c library 11/06 11:38
2F:推 CriLit:link 时加上 -lc 11/06 11:40
3F:→ CriLit:如果出现没有此档案 11/06 11:41
4F:→ CriLit:再加上 -dynamic-linker /lib/ld-linux.so.2 在 link 11/06 11:41
5F:→ CriLit:不过 ... 把 _start 改成 main, 用 gcc 就可以编了 11/06 11:41
6F:→ typecommand:感谢楼上大大解惑,我用gcc编组语就ok了 11/08 12:16