❶ c璇璦緇忚繃緙栬瘧鍚庣敓鎴愭枃浠剁殑鍚庣紑鏄
C璇璦緇忚繃緙栬瘧鍚庣敓鎴愭枃浠剁殑鍚庣紑鏄鈥.obj鈥濄
褰揅璇璦婧愪唬鐮佽緙栬瘧鍚庯紝閫氬父浼氱敓鎴愪竴涓鈥.o鈥濓紙object file錛夋枃浠躲傝繖涓鏂囦歡鍖呭惈浜嗙紪璇戝櫒鎵浜х敓鐨勬満鍣ㄤ唬鐮侊紝浣嗘槸瀹冭繕娌℃湁琚榪炴帴鍒板叾浠栨ā鍧楁垨搴撲腑銆傜浉搴斿湴錛屽湪涓嶅悓鐨勬搷浣滅郴緇熶笂鍙鑳戒細鏈変笉鍚岀殑鍚庣紑鍚嶅拰浜岃繘鍒舵牸寮忋備緥濡傦紝Windows涓婄殑Visual C++緙栬瘧鍣ㄤ嬌鐢ㄢ.obj鈥濅綔涓虹洰鏍囨枃浠剁殑鎵╁睍鍚嶃
闄や簡鐩鏍囨枃浠朵箣澶栵紝榪樻湁鍏朵粬綾誨瀷鐨勬枃浠朵篃鍙鑳藉湪緙栬瘧榪囩▼涓鍑虹幇銆備緥濡傦紝婧愭枃浠跺寘鍚浜嗕唬鐮佺殑鍘熷嬫枃鏈錛涘ご鏂囦歡鍖呭惈浜嗙▼搴忎腑浣跨敤鍒扮殑鍑芥暟鍜屽彉閲忕殑澹版槑銆傝繖浜涙枃浠舵墿灞曞悕閫氬父涓衡.c鈥濆拰鈥.h鈥濄
C璇璦鐨勪紭鐐圭畝榪
C璇璦鐨勮捐$洰鏍囨槸鎻愪緵涓縐嶈兘浠ョ畝鏄撶殑鏂瑰紡緙栬瘧銆佸勭悊浣庣駭瀛樺偍鍣ㄣ佷粎浜х敓灝戦噺鐨勬満鍣ㄧ爜浠ュ強涓嶉渶瑕佷換浣曡繍琛岀幆澧冩敮鎸佷究鑳借繍琛岀殑緙栫▼璇璦銆侰璇璦鎻忚堪闂棰樻瘮奼囩紪璇璦榪呴熴佸伐浣滈噺灝忋佸彲璇繪уソ銆佹槗浜庤皟璇曘佷慨鏀瑰拰縐繪嶏紝鑰屼唬鐮佽川閲忎笌奼囩紪璇璦鐩稿綋銆侰璇璦涓鑸鍙姣旀眹緙栬璦浠g爜鐢熸垚鐨勭洰鏍囩▼搴忔晥鐜囦綆10%鈥20%銆傚洜姝わ紝C璇璦鍙浠ョ紪鍐欑郴緇熻蔣浠躲
褰撳墠闃舵碉紝鍦ㄧ紪紼嬮嗗煙涓錛孋璇璦鐨勮繍鐢ㄩ潪甯鎬箣澶氾紝瀹冨吋欏句簡楂樼駭璇璦鍜屾眹緙栬璦鐨勪紭鐐癸紝鐩歌緝浜庡叾浠栫紪紼嬭璦鍏鋒湁杈冨ぇ浼樺娍銆傝$畻鏈虹郴緇熻捐′互鍙婂簲鐢ㄧ▼搴忕紪鍐欐槸C璇璦搴旂敤鐨勪袱澶ч嗗煙銆傚悓鏃訛紝C璇璦鐨勬櫘閫傝緝寮猴紝鍦ㄨ稿氳$畻鏈烘搷浣滅郴緇熶腑閮借兘澶熷緱鍒伴傜敤錛屼笖鏁堢巼鏄捐憲銆侰璇璦鎷ユ湁緇忚繃浜嗘極闀垮彂灞曞巻鍙茬殑瀹屾暣鐨勭悊璁轟綋緋伙紝鍦ㄧ紪紼嬭璦涓鍏鋒湁涓捐凍杞婚噸鐨勫湴浣嶃
❷ c璇璦緙栬瘧鍚庣殑鏂囦歡鍚嶅悗緙鏄浠涔
c璇璦緙栬瘧鍚庣殑鏂囦歡鍚嶅悗緙鏄.c鍜.h銆
.h涓涓鑸鏀劇殑鏄鍚屽悕錛.c鏂囦歡涓瀹氫箟鐨勫彉閲忋佹暟緇勩佸嚱鏁扮殑澹版槑錛岄渶瑕佽.c澶栭儴浣跨敤鐨勫0鏄庛.c鏂囦歡錛屼互c涓烘墿灞曞悕錛屼竴鑸瀛樺偍鍏蜂綋鍔熻兘鐨勫疄鐜般.h鏂囦歡錛岀О涓哄ご鏂囦歡錛屼竴鑸瀛樺偍綾誨瀷鐨勫畾涔夛紝鍑芥暟鐨勫0鏄庣瓑銆傞氬父錛屽ご鏂囦歡琚.c鏂囦歡鍖呭惈錛屼嬌鐢#include璇鍙ャ備絾鍊煎緱娉ㄦ剰鐨勬槸錛岃繖鍙鏄涓縐嶇害瀹氾紝鑰岄潪寮哄埗銆
鍦ㄥぇ澶氭暟鎯呭喌涓嬶紝C璇璦緇忚繃緙栬瘧鍚庣敓鎴愮殑鏂囦歡鍚庣紑鍚嶆槸鈥.o鈥濓紝涔熷彲浠ユ槸鈥.obj鈥濇垨鍏朵粬鎿嶄綔緋葷粺鐗瑰畾鐨勬牸寮忋傝繖浜涙枃浠跺寘鍚浜嗙紪璇戝櫒鎵浜х敓鐨勬満鍣ㄤ唬鐮侊紝騫朵笖閫氬父闇瑕侀摼鎺ュ埌涓璧鋒墠鑳界敓鎴愬彲鎵ц屾枃浠躲
緙栬瘧鍚庢枃浠剁殑浣滅敤
緙栬瘧鍚庣殑鐩鏍囨枃浠跺彲鑳芥棤娉曠洿鎺ヨ繍琛岋紝浣嗗畠鏄鐢熸垚鍙鎵ц岀▼搴忔墍蹇呴渶鐨勪竴姝ャ傚湪澶у瀷欏圭洰涓瑿璇璦婧愪唬鐮佸皢琚鍒嗘垚澶氫釜鏂囦歡錛屾瘡涓鏂囦歡閮介渶瑕佸厛緙栬瘧鎴愪竴涓鐩鏍囨枃浠訛紝鐒跺悗鍐嶅皢瀹冧滑閾炬帴鍒頒竴璧峰艦鎴愪竴涓鍙鎵ц岀▼搴忋傞摼鎺ュ櫒鏄璐熻矗灝嗗氫釜鐩鏍囨枃浠跺悎騫剁殑紼嬪簭錛屽綋澶氫釜鐩鏍囨枃浠惰閾炬帴鍦ㄤ竴璧鋒椂錛屾垜浠鍙浠ラ氳繃璁塊棶涓涓鍑芥暟鎴栧彉閲忔潵璋冪敤鍏朵粬鏂囦歡涓鐨勫嚱鏁版垨鍙橀噺銆
姝ゅ栵紝榪樺瓨鍦ㄤ袱縐嶅父瑙佺殑搴撶被鍨嬶紝鍒嗗埆鏄闈欐佸簱鍜屽叡浜搴撱傞潤鎬佸簱鏄鍖呭惈澶氫釜鐩鏍囨枃浠剁殑褰掓。鏂囦歡錛岃屽叡浜搴撳垯鏄鍙琚澶氫釜紼嬪簭鍏變韓鐨勯勭紪璇戜簩榪涘埗鏂囦歡銆傝繖浜涘簱閫氬父鍖呮嫭涓浜涘父鐢ㄧ殑鍔熻兘鍜屾暟鎹緇撴瀯錛屽湪C璇璦搴旂敤紼嬪簭涓鏈夌潃騫挎硾鐨勪嬌鐢ㄣ
❸ C語言源程序文件經過編譯連接之後生成一個後綴為_____的文件。
如果只生成一個文件,那麼這個題目答案是B。編譯(compile)後生成目標文件,後綴:.obj。也就是機器碼。
然後鏈接器(Linker) 連接生成可執行文件,後綴:.exe。最後運行命令(go),直接運行.exe文件。
(3)c語言編譯後的後綴擴展閱讀:
簡單講,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。
一個現代編譯器的主要工作流程:源代碼(source code) →預處理器(preprocessor) →編譯器(compiler) →目標代碼(object code) →鏈接器(Linker) → 可執行程序(executables)
高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。
編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。
源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言。
而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。
對於C#、VB等高級語言而言,此時編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的位元組碼(ByteCode)。
最後運行的時候通過通用語言運行庫的轉換,編程最終可以被CPU直接計算的機器碼(NativeCode)。
❹ c語言程序經過編譯後生成文件的後綴是
C語言程序經過編譯後生成的文件後綴通常是<strong>.obj</strong>或<strong>.o</strong>。
這些後綴是對象文件(object file)的後綴,它們是源代碼編譯後的中間文件,通常包含了一些機器代碼和符號表信息。
為了更好地理解這個問題,我們需要知道編譯是一個將源代碼轉換為機器代碼的過程。在編譯過程中,編譯器會將源代碼中的指令和數據提取出來,然後按照特定的格式重新組織成機器代碼。這個過程通常會生成一個或多個對象文件。
為了使答案通俗易懂,我們可以這樣解釋:當你在電腦上編寫C語言程序時,你需要一個編譯器來將你的源代碼轉換為可以在你的電腦或網路上運行的程序。編譯器會將你的源代碼轉化為一種特殊的機器語言,這種語言可以直接被計算機硬體理解並執行。這個特殊的機器語言文件通常被稱為對象文件,因為它們包含了編譯後的代碼和一些其他的信息,如符號表等。
所以,當你編譯一個C語言程序時,你通常會得到一個或多個以<strong>.obj</strong>或<strong>.o</strong>為後綴的文件。這些文件包含了編譯後的代碼和其他信息,它們可以被鏈接器用來創建最終的可執行文件。
❺ 說出C語言源程序及編譯、連接後的文件擴展名發生了什麼變化
說出C語言源程序及編譯、連接後的文件擴展名發生變化:C語言源文件後綴名是.c,編譯生成的文件後綴名是.obj,連接後可執行文件的後綴名是.exe。
如果只生成一個文件,那麼這個題目答案是B。編譯(compile)後生成目標文件,後綴:.obj。也就是機器碼。然後鏈接器(Linker) 連接生成可執行文件,後綴:.exe。最後運行命令(go),直接運行.exe文件。
簡介
在嵌入式系統編程中不管是內核的驅動程序還是應用程序的編寫,涉及到大量的預處理與條件編譯,這樣做的好處主要體現在代碼的移植性強以及代碼的修改方便等方面。因此引入了預處理與條件編譯的概念。預處理(或稱預編譯)是指在進行編譯的第一遍掃描(詞法掃描和語法分析)之前所作的工作。預處理指令指示在程序正式編譯前就由編譯器進行的操作,可放在程序中任何位置。
❻ C語言源程序文件的後綴是什麼,經過編譯後生成文件的後綴是什麼經過連接後生成文件的後綴是什麼
程序文件名的後綴是.c,經過編譯後是.obj,經過連接後是.exe。
xx.h文件.h中一般放的是同名.c文件中定義的變數、數組、函數的聲明,需要讓.c外部使用的聲明。
xx.c文件.c文件一般放的是變數、數組、函數的具體定義。
1、頭文件的預編譯,預處理。
編譯器在編譯源代碼時,會先編譯頭文件,保證每個頭文件只被編譯一次。
在預處理階段,編譯器將c文件中引用的頭文件中的內容全部寫到c文件中。
2、詞法和語法分析(查錯)。
3、編譯(匯編代碼,.obj文件)。
轉化為匯編碼,這種文件稱為目標文件。後綴為.obj。
4、鏈接(二進制機器碼,.exe文件)。
將匯編代碼轉換為機器碼,生成可執行文件。
(6)c語言編譯後的後綴擴展閱讀
注意事項
在編譯過程中.h文件中的所有內容會被寫到包含它的.c文件中,而所有的.c文件以一個共同的main函數作為可執行程序的入口。
在.h文件中編寫函數實現依然可以正常編譯執行,相當於所有.h的內容最後都被寫到了main.c文件中。
但是為了邏輯性、易於維護性以及一些其他目的,一般在.h文件中寫函數的聲明,在.c文件中編寫函數的實現。