C程序的生成
時(shí)間:2021-08-19 16:07:08
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(dǎo)讀]點(diǎn)擊上方藍(lán)色文字關(guān)注華妹~C程序的生成C程序的生成過(guò)程:編寫(xiě)源代碼->編譯->鏈接。何為編譯?首先我們要明白兩個(gè)概念,源程序和目標(biāo)程序。源程序:是指用源語(yǔ)言寫(xiě)的,有待翻譯的程序。如我們自己寫(xiě)的一段c代碼,這段代碼只有我們自己能看懂,計(jì)算機(jī)是不懂,計(jì)算機(jī)只能理解二進(jìn)制。目標(biāo)程序:源...
點(diǎn)擊上方藍(lán)色文字關(guān)注華妹~
C程序的生成
C程序的生成過(guò)程:編寫(xiě)源代碼->編譯->鏈接 。
何為編譯?首先我們要明白兩個(gè)概念,源程序和目標(biāo)程序。源程序:是指用源語(yǔ)言寫(xiě)的,有待翻譯的程序。如我們自己寫(xiě)的一段c 代碼,這段代碼只有我們自己能看懂,計(jì)算機(jī)是不懂,計(jì)算機(jī)只能理解二進(jìn)制。目標(biāo)程序:源程序通過(guò)翻譯程序加工以后生成的機(jī)器語(yǔ)言程序。這是計(jì)算機(jī)可以理解的語(yǔ)言。把源程序轉(zhuǎn)化為目標(biāo)程序的操作就叫做編譯。
何為鏈接?C語(yǔ)言代碼經(jīng)過(guò)編譯以后,會(huì)變成了二進(jìn)制形式的目標(biāo)文件(Object File)--- 對(duì)于 Visual C ,目標(biāo)文件的后綴是.obj---對(duì)于 GCC,目標(biāo)文件的后綴是.o但此時(shí)的代碼還不能運(yùn)行起來(lái),因?yàn)樗€需要和系統(tǒng)提供的組件(比如標(biāo)準(zhǔn)庫(kù))結(jié)合起來(lái),這些組件都是程序運(yùn)行所必須的。例如我們要在屏幕中輸出字符,這必須調(diào)用系統(tǒng)提供的庫(kù)才能夠?qū)崿F(xiàn)。
這就是鏈接,經(jīng)過(guò)鏈接才會(huì)生成可執(zhí)行程序。
所以不管我們編寫(xiě)的代碼有多么簡(jiǎn)單,都必須經(jīng)過(guò)「編譯 --> 鏈接」的過(guò)程才能生成可執(zhí)行文件:
編譯就是將我們編寫(xiě)的源代碼“翻譯”成計(jì)算機(jī)可以識(shí)別的二進(jìn)制格式,它們以目標(biāo)文件的形式存在;
鏈接就是一個(gè)“打包”的過(guò)程,它將所有的目標(biāo)文件以及系統(tǒng)組件組合成一個(gè)可執(zhí)行文件。你學(xué)會(huì)了嗎?
完
掃碼關(guān)注華妹查看更多精彩內(nèi)容
C程序的生成
C程序的生成過(guò)程:編寫(xiě)源代碼->編譯->鏈接 。
何為編譯?首先我們要明白兩個(gè)概念,源程序和目標(biāo)程序。源程序:是指用源語(yǔ)言寫(xiě)的,有待翻譯的程序。如我們自己寫(xiě)的一段c 代碼,這段代碼只有我們自己能看懂,計(jì)算機(jī)是不懂,計(jì)算機(jī)只能理解二進(jìn)制。目標(biāo)程序:源程序通過(guò)翻譯程序加工以后生成的機(jī)器語(yǔ)言程序。這是計(jì)算機(jī)可以理解的語(yǔ)言。把源程序轉(zhuǎn)化為目標(biāo)程序的操作就叫做編譯。
何為鏈接?C語(yǔ)言代碼經(jīng)過(guò)編譯以后,會(huì)變成了二進(jìn)制形式的目標(biāo)文件(Object File)--- 對(duì)于 Visual C ,目標(biāo)文件的后綴是.obj---對(duì)于 GCC,目標(biāo)文件的后綴是.o但此時(shí)的代碼還不能運(yùn)行起來(lái),因?yàn)樗€需要和系統(tǒng)提供的組件(比如標(biāo)準(zhǔn)庫(kù))結(jié)合起來(lái),這些組件都是程序運(yùn)行所必須的。例如我們要在屏幕中輸出字符,這必須調(diào)用系統(tǒng)提供的庫(kù)才能夠?qū)崿F(xiàn)。
這就是鏈接,經(jīng)過(guò)鏈接才會(huì)生成可執(zhí)行程序。
所以不管我們編寫(xiě)的代碼有多么簡(jiǎn)單,都必須經(jīng)過(guò)「編譯 --> 鏈接」的過(guò)程才能生成可執(zhí)行文件:
編譯就是將我們編寫(xiě)的源代碼“翻譯”成計(jì)算機(jī)可以識(shí)別的二進(jìn)制格式,它們以目標(biāo)文件的形式存在;
鏈接就是一個(gè)“打包”的過(guò)程,它將所有的目標(biāo)文件以及系統(tǒng)組件組合成一個(gè)可執(zhí)行文件。你學(xué)會(huì)了嗎?
完
掃碼關(guān)注華妹查看更多精彩內(nèi)容