编译二进制过程
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(1)编译二进制过程扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。
2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“a.out”,即最终的可执行文件。
4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。
‘贰’ c语言是如何编译成二进制
计算机专业有门课程叫做《编译原理》,详细讲述了怎么把高级语言翻译成汇编语言活着机器能看懂的二进制代码。
简单的说,C语言是通过编译器翻译成二进制代码的(就像英译汉的软件把英文翻译成汉语一样。把高级语言翻译成机器语言过程很复杂,学了编译原理就懂了)。还有编译器可以用各种语言编写,C语言可以被用C语言写的编译器来编译。
‘叁’ C语言源程序的编译过程包括哪三个阶段
编译:将源程序转换为扩展名为.obj的二进制代码
连接:将obj文件进行连接,加入库函数等生成可执行文件
运行:执行可执行文件,有错返回修改,无错结束
‘肆’ python如何编译生成二进制文件
1、可以
2、当你编辑运行py文件后,就会生成对应文件名的pyc文件。
3、pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。
总之,是可以的
‘伍’ 我们编写的汇编语言和C语言如何能够转换成计算机可读的二进制
将用高级语言写成的程序变成机器可识别的二进制代码的过程称为编译过程.
因为在计算机中,各种信息和数据都是以文件形式存放的.在编辑方式下建立起来的程序文件称为源程序文件,简称源文件(如noname.c),相应的程序叫做源程序.源程序是用高级语言编写的,它不能直接在机器上运行.因为计算机并不能识别源程序,它仅认识规定范围内的一系列二进制代码所组成的指令数据,并按预定的含义执行一系列动作.通常把这些计算机能识别的二进制代码称为目标代码.为了把源程序变成目标代码,就需要有个"翻译"做这种转换工作.具体实现这一转换功能的软件就是编译程序,如C语言编译程序.
经编译后生成的目标程序的文件叫做目标文件(如noname.o).
连接:因为程序中会用到库函数或其他函数,所以目标程序还不能马上在机器上运行,需要把它们连成一个统一的整体,这就是连接.经过连接就把分离的目标程序连成完整的可执行程序,对应的文件是可执行文件.
运行:运行可执行文件,可得到相应的结果.如果发现运行结果不正确,那么就要分析出错原因,然后重新进入编辑方式,修改源程序.经编辑之后,再重复上述的编译,连接,运行等步骤.
我们用QASM写的是源程序,编写好的程序编译后形成的.obj是目标文件。.obj通过连接程序后形成.exe可执行程序。(WIN系统中程序编译过程)
深入讲解见参考资料
‘陆’ C/C++语言编译生产可执行的二进制文件的过程求大神详尽解释,
预编译。编译器将你的.c、.cpp源代码,通过解释其中的预编译指令,将源代码转换成相应的没有任何预编译指令的代码。
编译、优化。将上一步的代码编译成汇编指令,并作一定优化,形成对应的.s汇编代码
汇编。将.s文件汇编成机器码,形成对应的.o目标文件,此时是不可执行的二进制文件。生成对应的清单文件。为了连接需要,还会生成未定向符号表、导出符号表、地址重定向表等等。
连接。先根据对应的清单文件、连接文件及之间的调用关系,决定所有的目标文件及引用的库文件在最后可执行文件中的位置;然后做一些其他事情,比如根据符号表等将目标文件中的符号地址补全等等;最终得到可执行文件。
这只是我个人的简单理解,更详尽的解答都可以写成好几本书了=_=望采纳~
‘柒’ 二进制如何编程
1、打开易语言新建一个windows程序进入下图界面。
‘捌’ 如何使用CANdb++编译开二进制关量报文
简单的说,C语言是通过编译器翻译成二进制代码的(就像英译汉的软件把英文翻译成汉语一样。把高级语言翻译成机器语言过程很复杂,学了编译原理就懂了)。还有编译器可以用各种语言编写,C语言可以被用C语言写的编译器来编译。
‘玖’ C语言如何编译成可以直接在CPU运行的二进制码
路过。。。话说你要二进制文件干啥呢,我的大学老师告诉我,懂二进制的全世界就只有那么几个
‘拾’ 如何将一个函数编译成二进制文件
通过下面这条命令,main.c和swap.c 就产生了一个可执行二进制文件swap
》gcc mian.c swap.c -o swap
那么这条命令是么样把源程序变成可执行程序的呢?
步骤如下:
1、驱动程序首先调用C预处理器(CPP)把源文件翻译成一个ASCII中间文件mian.i,预处理器会把#include所包含的内容都插入到声明的位置,并且做宏替换,把main.c 文件的第3行 的SIZE替换成2(注意这里只是做简单的文本替换)。
2、接下来驱动程序的C编译器将main.i翻译成汇编语言程序main.s
3、然后驱动程序的汇编器将汇编语言程序main.s 翻译成可重定位的二进制文件main.o
4、最后运行链接器将main.o 与swap.o 以及一些必要的系统目标文件(比如你将调用的printf函数就是printf.o)连接起来变成一个可执行的二进制文件。