c语言编译成功后的文件
c语言编译生成的.obj文件是一种文本文件,程序编译时生成的中间代码文件目标文件,一般是程序编译后的二进制文件,再通过链接器和资源文件链接就成可执行文件了。OBJ只给出了程序的相对地址,而可执行文件是绝对地址。
obj文件基本结构:OBJ文件不需要任何种文件头(File Header),尽管经常使用几行文件信息的注释作为文件的开头。
OBJ文件由一行行文本组成,注释行以符号“#”为开头,空格和空行可以随意加到文件中以增加文件的可读性。有字的行都由一两个标记字母也就是关键字(Keyword)开头,关键字可以说明这一行是什么样的数据。
(1)c语言编译成功后的文件扩展阅读:
C编译的整个过程很复杂,大致可以分为以下阶段:
1、预处理阶段
在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替换工作,输出是同源文件含义相同但内容不同的文件。
2、编译、优化阶段
编译就是将第一阶段处理得到的文件通过词法语法分析等转换为汇编语言。优化包括对中间代码的优化,如删除公共表达式,循环优化等;和对目标代码的生成进行的优化,如如何充分利用机器的寄存器存放有关变量的值,以减少内存访问次数。
3、汇编阶段
将汇编语言翻译成机器指令。
⑵ c璇瑷缂栬疟钖庣殑鏂囦欢钖庣紑鏄浠涔堬纻
C璇瑷婧愭枃浠跺悗缂钖嶆槸.c锛岀紪璇戠敓鎴愮殑鏂囦欢钖庣紑钖嶆槸.obj锛岃繛鎺ュ悗鍙镓ц屾枃浠剁殑钖庣紑钖嶆槸.exe銆
婧愭枃浠剁殑钖庣紑浠呬粎鏄涓轰简琛ㄦ槑璇ユ枃浠朵腑淇濆瓨镄勬槸镆愮嶈瑷镄勪唬镰侊纸渚嫔.c鏂囦欢涓淇濆瓨镄勬槸C璇瑷浠g爜锛夛纴杩欐牱绋嫔簭锻樻洿锷犲规槗鍖哄垎锛岀紪璇戝櫒涔熸洿锷犲规槗璇嗗埆锛屽畠骞朵笉浼氩艰嚧璇ユ枃浠剁殑鍐呴儴镙煎纺鍙戠敓鏀瑰彉銆
镓╁𪾢璧勬枡
C璇瑷鏄涓绉岖粨鏋勫寲璇瑷锛屽畠链夌潃娓呮榈镄勫眰娆★纴鍙鎸夌収妯″潡镄勬柟寮忓圭▼搴忚繘琛岀紪鍐欙纴鍗佸垎链夊埄浜庣▼搴忕殑璋冭瘯锛屼笖c璇瑷镄勫勭悊鍜岃〃鐜拌兘锷涢兘闱炲父镄勫己澶с
渚濋潬闱炲父鍏ㄩ溃镄勮繍绠楃﹀拰澶氭牱镄勬暟鎹绫诲瀷锛屽彲浠ヨ交鏄揿畬鎴愬悇绉嶆暟鎹缁撴瀯镄勬瀯寤猴纴阃氲繃鎸囬拡绫诲瀷镟村彲瀵瑰唴瀛樼洿鎺ュ诲潃浠ュ强瀵圭‖浠惰繘琛岀洿鎺ユ搷浣滐纴锲犳ゆ棦鑳藉熺敤浜庡紑鍙戠郴缁熺▼搴忥纴涔熷彲鐢ㄤ簬寮鍙戝簲鐢ㄨ蒋浠躲
C璇瑷鏄鏅阃傛ф渶寮虹殑涓绉嶈$畻链虹▼搴忕紪杈戣瑷锛屽畠涓崭粎鍙浠ュ彂鎸ュ嚭楂樼骇缂栫▼璇瑷镄勫姛鐢锛岃缮鍏锋湁姹囩紪璇瑷镄勪紭镣广
⑶ 请问:c语言编译成功后生成后缀名为.o的文件,什么东东,什么作用。
是编译成功后的文件。
以hello.c为例:
先将源文件编译成目标文件:gcc - c hello.c。生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o
这样就生成了可执行文件,在./hello就可以运行hello了。
⑷ C语言程序编译后产生哪些类型的文件这些文件的作用是什么
不同的系统,产生的文件不一样;
win:
->.obj目标文件
->.obj目标文件->.exe可执行文件
->.rc
。。。。
⑸ c语言编译后如何生成exe文件
在C语言中,生成`.exe`文件(在Windows环境下)通常涉及使用编译器将C语言源代码(`.c`文件)转换成可执行文件(`.exe`)。这个过程通常通过命令行工具或集成开发环境(IDE)来完成。
如果你使用的是GCC编译器(如MinGW在Windows上),你可以通过打开命令行工具(如CMD或PowerShell),导航到你的源代码文件所在的目录,然后运行类似`gcc -o myprogram.exe myprogram.c`的命令来编译你的程序。这里,`gcc`是编译器的名称,`-o myprogram.exe`指定了输出文件的名称(包括`.exe`扩展名),而`myprogram.c`是你的源代码文件名。
如果你使用的是Visual Studio这样的IDE,过程则更加图形化。你需要在Visual Studio中创建一个新项目,选择C++(注意,虽然Visual Studio主要面向C++,但它也完全支持C语言),然后添加你的`.c`文件。编写并保存代码后,你可以通过点击“生成”菜单中的“生成解决方案”或使用快捷键(通常是F7)来编译你的程序。编译成功后,Visual Studio会在项目的输出目录中生成`.exe`文件。
无论是使用命令行工具还是IDE,生成`.exe`文件的核心步骤都是编译源代码。编译过程将源代码转换成机器语言,这样计算机就可以直接执行程序了。
⑹ C语言源程序文件经过编译连接之后生成一个后缀为_____的文件。
如果只生成一个文件,那么这个题目答案是B。编译(compile)后生成目标文件,后缀:.obj。也就是机器码。
然后链接器(Linker) 连接生成可执行文件,后缀:.exe。最后运行命令(go),直接运行.exe文件。
(6)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)。