❶ C語言源程序文件的後綴是什麼,經過編譯後生成文件的後綴是什麼經過連接後生成文件的後綴是什麼
程序文件名的後綴是.c,經過編譯後是.obj,經過連接後是.exe。
xx.h文件.h中一般放的是同名.c文件中定義的變數、數組、函數的聲明,需要讓.c外部使用的聲明。
xx.c文件.c文件一般放的是變數、數組、函數的具體定義。
1、頭文件的預編譯,預處理。
編譯器在編譯源代碼時,會先編譯頭文件,保證每個頭文件只被編譯一次。
在預處理階段,編譯器將c文件中引用的頭文件中的內容全部寫到c文件中。
2、詞法和語法分析(查錯)。
3、編譯(匯編代碼,.obj文件)。
轉化為匯編碼,這種文件稱為目標文件。後綴為.obj。
4、鏈接(二進制機器碼,.exe文件)。
將匯編代碼轉換為機器碼,生成可執行文件。
(1)源程序被編譯成什麼形式擴展閱讀
注意事項
在編譯過程中.h文件中的所有內容會被寫到包含它的.c文件中,而所有的.c文件以一個共同的main函數作為可執行程序的入口。
在.h文件中編寫函數實現依然可以正常編譯執行,相當於所有.h的內容最後都被寫到了main.c文件中。
但是為了邏輯性、易於維護性以及一些其他目的,一般在.h文件中寫函數的聲明,在.c文件中編寫函數的實現。
❷ 源程序A被編譯成101010101000,可以倒翻譯過來嗎
比如源程序A被編譯成101010101000
=========================
個人覺得這個假設是不成立的,具體編譯成什麼應該是由每個編譯器的實現有關,每個編譯器對於代碼的優化都不一樣。
所以A不一定會編譯成101010101000,具體是什麼是由具體的編譯器決定的。這個不存在一一對應關系。
就個人目前理解,編譯實際是就是把你編的代碼變成CPU懂的方式(CPU就是一堆電路而已),並且要保證兩者在邏輯上的等價。
以上都是瞎說的,因為我還沒學編譯原理....
❸ java 源程序文件編譯後產生的文件稱為________文件,其擴展名為 ________ 。
Java 源程序文件編譯後產生的文件稱為(位元組碼)文件,其擴展名為(.class)。
解釋:JVM(java虛擬機)可以將java文件編譯為機器語言,是通過位元組碼的形式進行的存儲,此位元組碼文件的擴展名就是class文件,此擴展類型文件可以被虛擬機所識別和進行執行。
(3)源程序被編譯成什麼形式擴展閱讀:
對於計算機而言,並不存在真正意義上的「好」的源代碼;然而作為一個人,好的書寫習慣將決定源代碼的好壞。源代碼是否具有可讀性,成為好壞的重要標准。軟體文檔則是表明可讀性的關鍵。
雖然我們可以通過不同的語言來實現計算機的同一功能,但在執行效率上則存在不同。普遍規律是:越高級的語言,其執行效率越低。這也是為什麼匯編語言生成的文件比用VB語言生成文件普遍要小的原因。源代碼就是用匯編語言和高級語言寫出來的代碼。
❹ 簡述將源程序編譯成可執行程序的過程
一個源程序到一個可執行程序的過程:預編譯、編譯、匯編、鏈接。其中,編譯是主要部分,其中又分為六個部分:詞法分析、語法分析、語義分析、中間代碼生成、目標代碼生成和優化。
預編譯:主要處理源代碼文件中的以「#」開頭的預編譯指令。處理規則如下:
1、刪除所有的#define,展開所有的宏定義。
2、處理所有的條件預編譯指令,如「#if」、「#endif」、「#ifdef」、「#elif」和「#else」。
3、處理「#include」預編譯指令,將文件內容替換到它的位置,這個過程是遞歸進行的,文件中包含其他文件。
4、刪除所有的注釋,「//」和「/**/」。
5、保留所有的#pragma 編譯器指令,編譯器需要用到他們,如:#pragma once 是為了防止有文件被重復引用。
6、添加行號和文件標識,便於編譯時編譯器產生調試用的行號信息,和編譯時產生編譯錯誤或警告是能夠顯示行號。
(4)源程序被編譯成什麼形式擴展閱讀:
編譯過程中語法分析器只是完成了對表達式語法層面的分析,語義分析器則對表達式是否有意義進行判斷,其分析的語義是靜態語義——在編譯期能分期的語義,相對應的動態語義是在運行期才能確定的語義。
其中,靜態語義通常包括:聲明和類型的匹配,類型的轉換,那麼語義分析就會對這些方面進行檢查,例如將一個int型賦值給int*型時,語義分析程序會發現這個類型不匹配,編譯器就會報錯。
❺ c編程的功能是將c源程序編譯成什麼
編譯成機器碼,,這樣CPU可以讀取,效率也高。
好像是先編譯成匯編語言助記符方便調試優化,然後由匯編器編譯,連接器連接生成
❻ 什麼是源程序,目標程序
源程序,是指未經編譯的,按照一定的程序設計語言規范書寫的,人類可讀的文本文件。通常由高級語言編寫。源程序可以是以書籍或者磁帶或者其他載體的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機可執行的程序。
目標程序,又稱為「目的程序」,為源程序經編譯可直接被計算機運行的機器碼集合,在計算機文件上以.obj作擴展名----由語言處理程序(匯編程序,編譯程序,解釋程序)將源程序處理(匯編,編譯,解釋)成與之等價的由機器碼構成的,計算機能夠直接運行的程序,該程序叫目標程序。
(6)源程序被編譯成什麼形式擴展閱讀:
源程序作用:生成目標程序;對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都忽視軟體說明的編寫,因為這部分雖然不會在生成的程序中直接顯示,也不參與編譯。
目標程序作用:目標程序在許多編程工具中都有作用。計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過"翻譯程序"翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。
參考資料來源:網路-目標程序
參考資料來源:網路-源程序
❼ 請問源代碼和源程序有什麼區別
源程序是指未編譯的文本代碼。
驗證碼主要是為防止暴利破解,所以需要防止圖片識別。所以驗證碼一般情況下為書寫不正規,且有隨機的背景雜點,或雜線
源代碼(也稱源程序),是指一系列人類可讀的計算機語言指令。
在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。
作用
源代碼主要功用有如下2種作用:
生成目標代碼,即計算機可以識別的代碼。
對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都忽視軟體說明的編寫,因為這部分雖然不會在生成的程序中直接顯示,也不參與編譯。但是說明對軟體的學習、分享、維護和軟體復用都有巨大的好處。因此,書寫軟體說明在業界被認為是能創造優秀程序的良好習慣,一些公司也硬性規定必須書寫。
需要指出的是,源代碼的修改不能改變已經生成的目標代碼。如果需要目標代碼做出相應的修改,必須重新編譯。
程序:計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過"翻譯程序"翻譯成機器語言形式的目標程序,計算機才能識別和執行。
❽ 什麼是 源程序 目標程序 編譯程序 解釋程序
源程序:源碼
目標程序:執行目標的那個程序
編譯程序:1.寫程序(動作) 2.寫程序的軟體
解釋程序:?
我想大概是這個意思
❾ C語言源程序的編譯過程包括哪三個階段
編譯:將源程序轉換為擴展名為.obj的二進制代碼
連接:將obj文件進行連接,加入庫函數等生成可執行文件
運行:執行可執行文件,有錯返回修改,無錯結束
❿ 簡述將源程序編譯成可執行程序的過程
慢慢找吧