作者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