‘壹’ 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璇瑷搴旂敤绋嫔簭涓链夌潃骞挎硾镄勪娇鐢ㄣ