在c-free為什么不能編寫c語言嗎,難道說編譯器不在c( 二 )


為什么說c,c不能跨平臺 , 編譯器是在計算機操作系統上的嗎 , 難道說編譯器不在c,c程序里嗎?
首先我們糾正一下題目中一個小小的誤區 , 不是C和C不能跨平臺 , 應該是說是C/C源代碼在編譯后生成的.exe文件不能跨平臺 , 源代碼和可執行文件要區分開來 , 想要搞明白這個問題 , 我們先得了解一下源代碼是怎么變成程序的 。四個過程:預處理——編譯——匯編——可執行文件當我們編寫完代碼后 , 源代碼會經過上述的四個環節 , 最終變成常見的可執行文件 , 
【在c-free為什么不能編寫c語言嗎,難道說編譯器不在c】預處理階段(hello.i):會有頭文件 , 一些宏 , 注釋等 。在源代碼中 。預處理的目的是擴展頭文件 , 替換宏文件 , 刪除注釋等 。 , 并對代碼做一些初步的處理 。編譯階段(hello.s):這個階段主要是檢查語法錯誤 , 比如內存是否溢出 , 指針是否指向錯誤的對象 , 然后生成一個匯編文件 。匯編階段(hello.o):計算機不知道代碼 , 需要將匯編代碼轉換成由0和1組成的機器碼鏈接(hello.o)

推薦閱讀