导航:首页 > 源码编译 > c程序经c编译后生成obj文件

c程序经c编译后生成obj文件

发布时间:2024-10-08 06:30:16

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

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

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

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

(1)c程序经c编译后生成obj文件扩展阅读:

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

1、预处理阶段

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

2、编译、优化阶段

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

3、汇编阶段

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

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

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

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

(2)c程序经c编译后生成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语言编译成功后生成后缀名为.o的文件,什么东东,什么作用。

是编译成功后的文件。
以hello.c为例:
先将源文件编译成目标文件:gcc - c hello.c。生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o
这样就生成了可执行文件,在./hello就可以运行hello了。

④ c璇瑷缁忚繃缂栬疟钖庣敓鎴愭枃浠剁殑钖庣紑鏄

C璇瑷缁忚繃缂栬疟钖庣敓鎴愭枃浠剁殑钖庣紑鏄钬.obj钬濄

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

闄や简鐩镙囨枃浠朵箣澶栵纴杩樻湁鍏朵粬绫诲瀷镄勬枃浠朵篃鍙鑳藉湪缂栬疟杩囩▼涓鍑虹幇銆备緥濡傦纴婧愭枃浠跺寘钖浜嗕唬镰佺殑铡熷嬫枃链锛涘ご鏂囦欢鍖呭惈浜嗙▼搴忎腑浣跨敤鍒扮殑鍑芥暟鍜屽彉閲忕殑澹版槑銆傝繖浜涙枃浠舵墿灞曞悕阃氩父涓衡.c钬濆拰钬.h钬濄

C璇瑷镄勪紭镣圭亩杩

C璇瑷镄勮捐$洰镙囨槸鎻愪緵涓绉嶈兘浠ョ亩鏄撶殑鏂瑰纺缂栬疟銆佸勭悊浣庣骇瀛桦偍鍣ㄣ佷粎浜х敓灏戦噺镄勬満鍣ㄧ爜浠ュ强涓嶉渶瑕佷换浣曡繍琛岀幆澧冩敮鎸佷究鑳借繍琛岀殑缂栫▼璇瑷銆侰璇瑷鎻忚堪闂棰樻瘆姹囩紪璇瑷杩呴熴佸伐浣滈噺灏忋佸彲璇绘уソ銆佹槗浜庤皟璇曘佷慨鏀瑰拰绉绘嶏纴钥屼唬镰佽川閲忎笌姹囩紪璇瑷鐩稿綋銆侰璇瑷涓鑸鍙姣旀眹缂栬瑷浠g爜鐢熸垚镄勭洰镙囩▼搴忔晥鐜囦绠10%钬20%銆傚洜姝わ纴C璇瑷鍙浠ョ紪鍐欑郴缁熻蒋浠躲

褰揿墠阒舵碉纴鍦ㄧ紪绋嬮嗗烟涓锛孋璇瑷镄勮繍鐢ㄩ潪甯镐箣澶氾纴瀹冨吋椤句简楂樼骇璇瑷鍜屾眹缂栬瑷镄勪紭镣癸纴鐩歌缉浜庡叾浠栫紪绋嬭瑷鍏锋湁杈冨ぇ浼桦娍銆傝$畻链虹郴缁熻捐′互鍙婂簲鐢ㄧ▼搴忕紪鍐欐槸C璇瑷搴旂敤镄勪袱澶ч嗗烟銆傚悓镞讹纴C璇瑷镄勬櫘阃傝缉寮猴纴鍦ㄨ稿氲$畻链烘搷浣灭郴缁熶腑閮借兘澶熷缑鍒伴傜敤锛屼笖鏁堢巼鏄捐宪銆侰璇瑷𨰾ユ湁缁忚繃浜嗘极闀垮彂灞曞巻鍙茬殑瀹屾暣镄勭悊璁轰綋绯伙纴鍦ㄧ紪绋嬭瑷涓鍏锋湁涓捐冻杞婚吨镄勫湴浣嶃

⑤ c语言程序经过编译后生成文件的后缀是

C语言程序经过编译后生成的文件后缀通常是<strong>.obj</strong>或<strong>.o</strong>。


这些后缀是对象文件(object file)的后缀,它们是源代码编译后的中间文件,通常包含了一些机器代码和符号表信息。


为了更好地理解这个问题,我们需要知道编译是一个将源代码转换为机器代码的过程。在编译过程中,编译器会将源代码中的指令和数据提取出来,然后按照特定的格式重新组织成机器代码。这个过程通常会生成一个或多个对象文件。


为了使答案通俗易懂,我们可以这样解释:当你在电脑上编写C语言程序时,你需要一个编译器来将你的源代码转换为可以在你的电脑或网络上运行的程序。编译器会将你的源代码转化为一种特殊的机器语言,这种语言可以直接被计算机硬件理解并执行。这个特殊的机器语言文件通常被称为对象文件,因为它们包含了编译后的代码和一些其他的信息,如符号表等。


所以,当你编译一个C语言程序时,你通常会得到一个或多个以<strong>.obj</strong>或<strong>.o</strong>为后缀的文件。这些文件包含了编译后的代码和其他信息,它们可以被链接器用来创建最终的可执行文件。

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

C语言源文件后缀名是.c,编译生成的文件后缀名是.obj,连接后可执行文件的后缀名是.exe。

源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变。



(6)c程序经c编译后生成obj文件扩展阅读

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大。

依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点。

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

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

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

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

(7)c程序经c编译后生成obj文件扩展阅读

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

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

⑧ c语言源程序文件经过c编译程序编译连接之后生成一个后缀为什么

您想问的是c语言源程序文件经过c编译程序编译连接之后生成的一个后缀是什么吗?“.exe”
C语言源文件后缀名是“.c”,编译生成的文件后缀名是“.obj”,连接后可执行文件的后缀名是“.exe”。
c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。

阅读全文

与c程序经c编译后生成obj文件相关的资料

热点内容
比心app怎么样用 浏览:741
和平精英怎么改国际服的服务器 浏览:944
手机存储卡128是哪个文件夹 浏览:180
安北解压包密码 浏览:651
阿里巴巴app静态编译 浏览:725
命令世界怎么获得迷你币 浏览:651
应用加密重新安装 浏览:83
抖音抖币充值源码 浏览:736
我的世界如何去更新服务器 浏览:74
单片机视频模块 浏览:996
程序员的图中的亮点在哪里 浏览:657
苹果手机服务器地址是什么意思 浏览:461
云服务器里面怎么升级d盘 浏览:546
java文件存入数据库 浏览:89
雷特字幕出现未发现加密锁 浏览:768
java线程监视 浏览:947
无聊的程序员日常 浏览:803
云服务器ecs项目 浏览:23
健康证服务器地址是什么意思 浏览:196
惠普笔记本提取压缩软件 浏览:773