汇编程序.c到a.out的生命历程
生活随笔
收集整理的這篇文章主要介紹了
汇编程序.c到a.out的生命历程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用gcc編譯程序時,編譯過程可以分為四個階段:
1.預處理階段
預處理階段就是將頭文件中的內容加載到.c文件的上方。
輸入命令gcc -E test.c -o test.i。執行-E命令,只對.c文件進行預編譯,不做其他操作。將生成文件命名為test.i
2.編譯階段
編譯階段會進行詞法分析,語法分析,語義分析。
在shell中輸入命令“gcc -S test.i -o test.s”。執行-c命令,只對.i文件進行編譯,不做其他操作。將生成文件命名為test.s
3.匯編階段
匯編階段會把匯編程序翻譯成目標文件,即二進制文件
在shell中輸入命令“gcc -c test.s -o test.o”。執行-S命令,只對.s文件進行匯編,不做其他操作。將生成文件命名為test.o
4.鏈接階段
鏈接階段會把程序中所有的目標文件和所需的庫文件都鏈接在一起,生成可執行文件。
在shell中輸入命令“gcc test.o -o test”。執行命令,對.o文件進行鏈接。將生成的可執行文件命名為test
以上就是個人總結的匯編程序從.c到a.out的生命歷程,`(*∩_∩*)′
總結
以上是生活随笔為你收集整理的汇编程序.c到a.out的生命历程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Winodws10 VS2019 Cli
- 下一篇: gcc优化的简单说明