『壹』 c語言編譯後生成什麼文件
C語言編譯後主要生成目標文件(.o 或 .obj)。以下是關於C語言編譯後生成文件的詳細解釋:
1. 目標文件(.o 或 .obj):
2. 編譯過程概述:
3. 鏈接後生成的文件:
綜上所述,C語言編譯後主要生成的是目標文件(.o 或 .obj),這些文件是編譯過程的中間產物,用於後續的鏈接階段生成最終的可執行文件。
『貳』 由編譯程序編譯後生成的目標文件是
由編譯程序編譯後生成的目標文件通常是「.obj」文件。具體來說:
文件類型:在C語言等高級程序設計語言的編譯過程中,編譯程序會將源程序翻譯成等價的目標程序,並以「.obj」文件的形式保存。這個文件包含了機器語言代碼或匯編語言代碼,是源程序到可執行文件的中間表示。
編譯過程:編譯程序是翻譯程序的一種,它將高級程序設計語言或匯編語言書寫的源程序轉換為機器語言或匯編語言的目標程序。這個過程涉及復雜的演算法,因為高級語言中的語句與機器指令之間往往不是一一對應的關系。
後續處理:編譯出的目標程序通常還需要經過鏈接器的處理,與其他目標文件或庫文件鏈接在一起,形成最終的可執行文件。在這個過程中,鏈接器會解決符號引用、重定位等問題,確保程序能夠正確運行。
因此,「.obj」文件是編譯程序編譯後生成的重要中間文件,它包含了機器語言代碼或匯編語言代碼,是後續鏈接和生成可執行文件的基礎。
『叄』 C語言源程序文件名的後綴是.OBJ,經過編譯後,生成文件的後綴是什麼經過連接後,生成文件的後綴是什麼
C語言源程序文件名的後綴是.c。C源程序經過C編譯程序編譯之後生成一個後綴為.OBJ的二進制文件,
然後由稱為「連接程序」的軟體,把此.OBJ文件與C語言提供的各種庫函數連接起來生成一個後綴為.EXE的可執行文件。
由高級語言編寫的程序稱為「源程序」,把由二進制代碼表示的程序稱為「目標程序」。為了把源程序轉換成機器能接受的目標程序,這時我們需要具有翻譯功能的軟體--「編譯程序」。每種高級語言都有與它對應的編譯程序。
(3)編譯生成目標文件的擴展名是什麼擴展閱讀
1、目標文件的擴展名為「.obj」(Windows)或「.o」(Linux)。目標文件已經是機器指令,但還不能運行,因為目標文件還沒有解決函數調用問題。
2、可執行文件的擴展名為「.exe「。
『肆』 c璇璦緇忚繃緙栬瘧鍚庣敓鎴愭枃浠剁殑鍚庣紑鏄
C璇璦緇忚繃緙栬瘧鍚庣敓鎴愭枃浠剁殑鍚庣紑鏄鈥.obj鈥濄
褰揅璇璦婧愪唬鐮佽緙栬瘧鍚庯紝閫氬父浼氱敓鎴愪竴涓鈥.o鈥濓紙object file錛夋枃浠躲傝繖涓鏂囦歡鍖呭惈浜嗙紪璇戝櫒鎵浜х敓鐨勬満鍣ㄤ唬鐮侊紝浣嗘槸瀹冭繕娌℃湁琚榪炴帴鍒板叾浠栨ā鍧楁垨搴撲腑銆傜浉搴斿湴錛屽湪涓嶅悓鐨勬搷浣滅郴緇熶笂鍙鑳戒細鏈変笉鍚岀殑鍚庣紑鍚嶅拰浜岃繘鍒舵牸寮忋備緥濡傦紝Windows涓婄殑Visual C++緙栬瘧鍣ㄤ嬌鐢ㄢ.obj鈥濅綔涓虹洰鏍囨枃浠剁殑鎵╁睍鍚嶃
闄や簡鐩鏍囨枃浠朵箣澶栵紝榪樻湁鍏朵粬綾誨瀷鐨勬枃浠朵篃鍙鑳藉湪緙栬瘧榪囩▼涓鍑虹幇銆備緥濡傦紝婧愭枃浠跺寘鍚浜嗕唬鐮佺殑鍘熷嬫枃鏈錛涘ご鏂囦歡鍖呭惈浜嗙▼搴忎腑浣跨敤鍒扮殑鍑芥暟鍜屽彉閲忕殑澹版槑銆傝繖浜涙枃浠舵墿灞曞悕閫氬父涓衡.c鈥濆拰鈥.h鈥濄
C璇璦鐨勪紭鐐圭畝榪
C璇璦鐨勮捐$洰鏍囨槸鎻愪緵涓縐嶈兘浠ョ畝鏄撶殑鏂瑰紡緙栬瘧銆佸勭悊浣庣駭瀛樺偍鍣ㄣ佷粎浜х敓灝戦噺鐨勬満鍣ㄧ爜浠ュ強涓嶉渶瑕佷換浣曡繍琛岀幆澧冩敮鎸佷究鑳借繍琛岀殑緙栫▼璇璦銆侰璇璦鎻忚堪闂棰樻瘮奼囩紪璇璦榪呴熴佸伐浣滈噺灝忋佸彲璇繪уソ銆佹槗浜庤皟璇曘佷慨鏀瑰拰縐繪嶏紝鑰屼唬鐮佽川閲忎笌奼囩紪璇璦鐩稿綋銆侰璇璦涓鑸鍙姣旀眹緙栬璦浠g爜鐢熸垚鐨勭洰鏍囩▼搴忔晥鐜囦綆10%鈥20%銆傚洜姝わ紝C璇璦鍙浠ョ紪鍐欑郴緇熻蔣浠躲
褰撳墠闃舵碉紝鍦ㄧ紪紼嬮嗗煙涓錛孋璇璦鐨勮繍鐢ㄩ潪甯鎬箣澶氾紝瀹冨吋欏句簡楂樼駭璇璦鍜屾眹緙栬璦鐨勪紭鐐癸紝鐩歌緝浜庡叾浠栫紪紼嬭璦鍏鋒湁杈冨ぇ浼樺娍銆傝$畻鏈虹郴緇熻捐′互鍙婂簲鐢ㄧ▼搴忕紪鍐欐槸C璇璦搴旂敤鐨勪袱澶ч嗗煙銆傚悓鏃訛紝C璇璦鐨勬櫘閫傝緝寮猴紝鍦ㄨ稿氳$畻鏈烘搷浣滅郴緇熶腑閮借兘澶熷緱鍒伴傜敤錛屼笖鏁堢巼鏄捐憲銆侰璇璦鎷ユ湁緇忚繃浜嗘極闀垮彂灞曞巻鍙茬殑瀹屾暣鐨勭悊璁轟綋緋伙紝鍦ㄧ紪紼嬭璦涓鍏鋒湁涓捐凍杞婚噸鐨勫湴浣嶃
『伍』 C語言執行過程生成的三種文件和擴展名
C語言開發過程中會生成三種類型的文件,它們分別具有不同的擴展名:
首先是源代碼文件,通常使用".c"作為擴展名;其次是目標代碼文件,其擴展名為".obj";最後是可執行文件,其擴展名為".exe"。
源代碼文件經過編譯(compile)處理後會生成目標代碼文件,目標代碼文件進一步經過鏈接(link)處理後會生成可執行文件。使用微軟的Visual C++ 6.0開發工具時,在狀態輸出窗口中,你可以看到編譯和鏈接的進度,比如會顯示"compiling...",然後是"linking..."。
編譯過程負責將源代碼文件中的C語言代碼轉換成匯編代碼,生成目標代碼文件。這個過程中,編譯器會檢查語法錯誤,優化代碼,並生成中間形式的代碼。
鏈接過程則將多個目標代碼文件合並為一個完整的可執行文件。在鏈接過程中,鏈接器會解析各個目標文件中的符號引用,將其合並成一個程序,同時也會進行靜態鏈接庫的處理。
可執行文件是最終的程序文件,可以直接運行。它包含了程序運行所需的全部信息,包括代碼、數據以及動態鏈接庫的引用等。
在使用開發工具進行C語言程序開發時,理解這些文件類型及其生成過程對於提高開發效率非常重要。熟悉這些過程有助於開發者更好地利用工具,解決編譯和鏈接過程中出現的問題。
『陸』 c璇璦緙栬瘧鍚庣殑鏂囦歡鍚嶅悗緙鏄浠涔
c璇璦緙栬瘧鍚庣殑鏂囦歡鍚嶅悗緙鏄.c鍜.h銆
.h涓涓鑸鏀劇殑鏄鍚屽悕錛.c鏂囦歡涓瀹氫箟鐨勫彉閲忋佹暟緇勩佸嚱鏁扮殑澹版槑錛岄渶瑕佽.c澶栭儴浣跨敤鐨勫0鏄庛.c鏂囦歡錛屼互c涓烘墿灞曞悕錛屼竴鑸瀛樺偍鍏蜂綋鍔熻兘鐨勫疄鐜般.h鏂囦歡錛岀О涓哄ご鏂囦歡錛屼竴鑸瀛樺偍綾誨瀷鐨勫畾涔夛紝鍑芥暟鐨勫0鏄庣瓑銆傞氬父錛屽ご鏂囦歡琚.c鏂囦歡鍖呭惈錛屼嬌鐢#include璇鍙ャ備絾鍊煎緱娉ㄦ剰鐨勬槸錛岃繖鍙鏄涓縐嶇害瀹氾紝鑰岄潪寮哄埗銆
鍦ㄥぇ澶氭暟鎯呭喌涓嬶紝C璇璦緇忚繃緙栬瘧鍚庣敓鎴愮殑鏂囦歡鍚庣紑鍚嶆槸鈥.o鈥濓紝涔熷彲浠ユ槸鈥.obj鈥濇垨鍏朵粬鎿嶄綔緋葷粺鐗瑰畾鐨勬牸寮忋傝繖浜涙枃浠跺寘鍚浜嗙紪璇戝櫒鎵浜х敓鐨勬満鍣ㄤ唬鐮侊紝騫朵笖閫氬父闇瑕侀摼鎺ュ埌涓璧鋒墠鑳界敓鎴愬彲鎵ц屾枃浠躲
緙栬瘧鍚庢枃浠剁殑浣滅敤
緙栬瘧鍚庣殑鐩鏍囨枃浠跺彲鑳芥棤娉曠洿鎺ヨ繍琛岋紝浣嗗畠鏄鐢熸垚鍙鎵ц岀▼搴忔墍蹇呴渶鐨勪竴姝ャ傚湪澶у瀷欏圭洰涓瑿璇璦婧愪唬鐮佸皢琚鍒嗘垚澶氫釜鏂囦歡錛屾瘡涓鏂囦歡閮介渶瑕佸厛緙栬瘧鎴愪竴涓鐩鏍囨枃浠訛紝鐒跺悗鍐嶅皢瀹冧滑閾炬帴鍒頒竴璧峰艦鎴愪竴涓鍙鎵ц岀▼搴忋傞摼鎺ュ櫒鏄璐熻矗灝嗗氫釜鐩鏍囨枃浠跺悎騫剁殑紼嬪簭錛屽綋澶氫釜鐩鏍囨枃浠惰閾炬帴鍦ㄤ竴璧鋒椂錛屾垜浠鍙浠ラ氳繃璁塊棶涓涓鍑芥暟鎴栧彉閲忔潵璋冪敤鍏朵粬鏂囦歡涓鐨勫嚱鏁版垨鍙橀噺銆
姝ゅ栵紝榪樺瓨鍦ㄤ袱縐嶅父瑙佺殑搴撶被鍨嬶紝鍒嗗埆鏄闈欐佸簱鍜屽叡浜搴撱傞潤鎬佸簱鏄鍖呭惈澶氫釜鐩鏍囨枃浠剁殑褰掓。鏂囦歡錛岃屽叡浜搴撳垯鏄鍙琚澶氫釜紼嬪簭鍏變韓鐨勯勭紪璇戜簩榪涘埗鏂囦歡銆傝繖浜涘簱閫氬父鍖呮嫭涓浜涘父鐢ㄧ殑鍔熻兘鍜屾暟鎹緇撴瀯錛屽湪C璇璦搴旂敤紼嬪簭涓鏈夌潃騫挎硾鐨勪嬌鐢ㄣ