Re: [問題] 使用gnu ld問題

看板CSSE (電腦科學及軟體工程)作者 (stevens)時間12年前 (2012/05/02 16:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《stevenlin08 (stevens)》之銘言: : 關於gnu ld的使用 : 為何在使用ld時,會出現 : undefined reference to 'puts' : 我知是因為linker時,找不到其library. : 它的預設library不是都在/usr/lib中. : 所以我多加入-L/usr/lib,但還是不行. : 因為直接使用gcc 可以, : 請問我要怎麼做可以知道它在gcc到底做了什麼設定? : 像是: : $gcc -c main.c -o main.o : $ld main.o -e main.o -o ab : $gcc main.o -o abc 謝謝大家的回應. 我之所以,以gcc -c + ld 是為了想一步步地了解其linker'loader'libary 而想要了解在下gcc 時它的default make file內容. 目前,是先用 0. 使用gcc -v main.c,來看其相關的 1. $gcc -c main.c -o main.o 2. $ld main.o -e main -lc -m elf_i386 -I /lib/ld-linux.so.2 (-lc 為printf的libary, ld-linux.so.2則為在loader時需需需的lib) 3.雖然,可以成功的linker了. 但在其程序行時,卻又出現了segmation fault. 因為其在gcc -v中有太多的設定. 不知有那些必要的.或是該如何來修正其錯誤. 4.版本及內容OA gcc vesion:gcc(ubuntu/linaro 4.5.2-8ubuntu4) 4.5.2 main.c #include <stdio.h> int main() { printf("hello world"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.205.36
文章代碼(AID): #1FeEcaQH (CSSE)
討論串 (同標題文章)
文章代碼(AID): #1FeEcaQH (CSSE)