-o hello hello.c
四個階段逐步完成:,如下圖所示。
,hello.c 的源代碼如下
hello.c
,而是預處理器the C Preprocessor)
根據以字符開頭#開頭的命令,修改原始C程序。比如hello.c中的第一行為 #include <stdio.h>,。
funlockfile (FILE *
hello.i
,如下
, -, ,@progbits
。例如,C和Fortran 的在此步編譯產生的輸出文件都是一樣的匯編語言。
匯編階段
hello.s
,用命令 打開如下
457f 464c 83e5 f0e4 ec83 c710 fce8 ffff c9ff 2c6f 726f 646c 3a43 6e75 4c2f 6e69 2 2e36 2d33 746e 2e36 7a01 7c01 2e00 746d 2e00 2e00 2e00 2e6c 2e00 2e00 472e 554e 732d 6b63 2e00 2e6c 665f 656d
hello程序調用了printf 函數,這個函數是標准C庫中的一個函數,他保存在一個名為printf.o 的文件中,這個文件必須以某種方式合並到我們的hello.o的程序中。
。
參考文獻