当前位置:首页 » 编程软件 » 编译生成的obj文件

编译生成的obj文件

发布时间: 2024-07-07 18:34:16

c语言源程序文件经过编译连接之后生成一个后缀为_____的文件。

如果只生成一个文件,那么这个题目答案是B。编译(compile)后生成目标文件,后缀:.obj。也就是机器码。

然后链接器(Linker) 连接生成可执行文件,后缀:.exe。最后运行命令(go),直接运行.exe文件。

(1)编译生成的obj文件扩展阅读:

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。

一个现代编译器的主要工作流程:源代码(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璇瑷婧愮▼搴忔枃浠剁粡杩囩紪璇戝悗鐢熸垚鏂囦欢镄勬墿灞曞悕.obj銆

褰揅璇瑷婧愪唬镰佽缂栬疟钖庯纴阃氩父浼氱敓鎴愪竴涓钬.o钬濓纸object file锛夋枃浠躲傝繖涓鏂囦欢鍖呭惈浜嗙紪璇戝櫒镓浜х敓镄勬満鍣ㄤ唬镰侊纴浣嗘槸瀹冭缮娌℃湁琚阈炬帴鍒板叾浠栨ā鍧楁垨搴扑腑銆傜浉搴斿湴锛屽湪涓嶅悓镄勬搷浣灭郴缁熶笂鍙鑳戒细链変笉钖岀殑钖庣紑钖嶅拰浜岃繘鍒舵牸寮忋备緥濡傦纴Windows涓婄殑Visual C++缂栬疟鍣ㄤ娇鐢ㄢ.obj钬濅綔涓虹洰镙囨枃浠剁殑镓╁𪾢钖嶃

鍦ㄥぇ澶氭暟𨱍呭喌涓嬶纴C璇瑷缁忚繃缂栬疟钖庣敓鎴愮殑鏂囦欢钖庣紑钖嶆槸钬.o钬濓纴涔熷彲浠ユ槸钬.obj钬濇垨鍏朵粬镎崭綔绯荤粺鐗瑰畾镄勬牸寮忋傝繖浜涙枃浠跺寘钖浜嗙紪璇戝櫒镓浜х敓镄勬満鍣ㄤ唬镰侊纴骞朵笖阃氩父闇瑕侀摼鎺ュ埌涓璧锋墠鑳界敓鎴愬彲镓ц屾枃浠躲

C璇瑷绠浠

C璇瑷鏄涓闂ㄩ溃钖戣繃绋嬬殑璁$畻链虹紪绋嬭瑷锛屼笌C++銆丆#銆丣ava闱㈠悜瀵硅薄缂栫▼璇瑷链夋墍涓嶅悓銆侰璇瑷镄勮捐$洰镙囨槸鎻愪緵涓绉嶈兘浠ョ亩鏄撶殑鏂瑰纺缂栬疟銆佸勭悊浣庣骇瀛桦偍鍣ㄣ佷粎浜х敓灏戦噺镄勬満鍣ㄧ爜浠ュ强涓嶉渶瑕佷换浣曡繍琛岀幆澧冩敮鎸佷究鑳借繍琛岀殑缂栫▼璇瑷銆

C璇瑷鎻忚堪闂棰樻瘆姹囩紪璇瑷杩呴熴佸伐浣滈噺灏忋佸彲璇绘уソ銆佹槗浜庤皟璇曘佷慨鏀瑰拰绉绘嶏纴钥屼唬镰佽川閲忎笌姹囩紪璇瑷鐩稿綋銆侰璇瑷涓鑸鍙姣旀眹缂栬瑷浠g爜鐢熸垚镄勭洰镙囩▼搴忔晥鐜囦绠10%钬20%锛屽洜姝C璇瑷鍙浠ョ紪鍐欑郴缁熻蒋浠躲

褰揿墠阒舵碉纴鍦ㄧ紪绋嬮嗗烟涓锛孋璇瑷镄勮繍鐢ㄩ潪甯镐箣澶氾纴瀹冨吋椤句简楂樼骇璇瑷鍜屾眹缂栬瑷镄勪紭镣癸纴鐩歌缉浜庡叾瀹幂紪绋嬭瑷鍏锋湁杈冨ぇ浼桦娍銆傝$畻链虹郴缁熻捐′互鍙婂簲鐢ㄧ▼搴忕紪鍐欙纴鏄疌璇瑷搴旂敤镄勪袱澶ч嗗烟銆傚悓镞讹纴C璇瑷镄勬櫘阃傝缉寮猴纴鍦ㄨ稿氲$畻链烘搷浣灭郴缁熶腑閮借兘澶熷缑鍒伴傜敤锛屼笖鏁堢巼鏄捐宪銆

⑶ c语言编译生成的.obj文件解释下

c语言编译生成的.obj文件是一种文本文件,程序编译时生成的中间代码文件目标文件,一般是程序编译后的二进制文件,再通过链接器和资源文件链接就成可执行文件了。OBJ只给出了程序的相对地址,而可执行文件是绝对地址。

obj文件基本结构:OBJ文件不需要任何种文件头(File Header),尽管经常使用几行文件信息的注释作为文件的开头。

OBJ文件由一行行文本组成,注释行以符号“#”为开头,空格和空行可以随意加到文件中以增加文件的可读性。有字的行都由一两个标记字母也就是关键字(Keyword)开头,关键字可以说明这一行是什么样的数据。

(3)编译生成的obj文件扩展阅读:

C编译的整个过程很复杂,大致可以分为以下阶段:

1、预处理阶段

在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替换工作,输出是同源文件含义相同但内容不同的文件。

2、编译、优化阶段

编译就是将第一阶段处理得到的文件通过词法语法分析等转换为汇编语言。优化包括对中间代码的优化,如删除公共表达式,循环优化等;和对目标代码的生成进行的优化,如如何充分利用机器的寄存器存放有关变量的值,以减少内存访问次数。

3、汇编阶段

将汇编语言翻译成机器指令。

⑷ C语言源程序文件名的后缀是.OBJ,经过编译后,生成文件的后缀是什么经过连接后,生成文件的后缀是什么

C语言源程序文件名的后缀是.c。C源程序经过C编译程序编译之后生成一个后缀为.OBJ的二进制文件,

然后由称为“连接程序”的软件,把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。

由高级语言编写的程序称为“源程序”,把由二进制代码表示的程序称为“目标程序”。为了把源程序转换成机器能接受的目标程序,这时我们需要具有翻译功能的软件--“编译程序”。每种高级语言都有与它对应的编译程序。

(4)编译生成的obj文件扩展阅读

1、目标文件的扩展名为“.obj”(Windows)或“.o”(Linux)。目标文件已经是机器指令,但还不能运行,因为目标文件还没有解决函数调用问题。

2、可执行文件的扩展名为“.exe“。

热点内容
ios登陆源码 发布:2024-11-07 15:33:58 浏览:247
三d算法 发布:2024-11-07 15:04:54 浏览:677
期货指标公式源码 发布:2024-11-07 14:53:05 浏览:316
sqlserver图片路径 发布:2024-11-07 14:37:56 浏览:67
磁罗经算法 发布:2024-11-07 14:26:49 浏览:850
怎么使用主机搭建服务器 发布:2024-11-07 14:10:26 浏览:84
蚂蚁矿机什么配置 发布:2024-11-07 14:10:22 浏览:430
上海家谱数据库 发布:2024-11-07 14:10:19 浏览:296
ibm服务器如何修复系统 发布:2024-11-07 13:56:02 浏览:977
pythonarraylist 发布:2024-11-07 13:52:03 浏览:744