导航:首页 > 源码编译 > 编译成目标代码

编译成目标代码

发布时间:2022-08-29 09:49:33

编译程序把源代码编译为的目标代码是什么代码是不是汇编

这个问题比较复杂,其实来说,编译器可以翻译高级语言为任何低级语言或机器语言。像java,.NET的编译器是编译结果是中间代码(可以理解为一种低级语言),由相应解释器执行;像C之类的编译以后可以是根据不同平台相应的机器码,就是01组成的编码,由对应平台的计算机直接执行;除此以外,gcc等也可以将C编译为汇编输出!

建议学习《编译原理》这门课程,你会有更深的理解。

❷ 编译是将整个源程序代码文件一次性翻译成目标程序代码,最终生成可执行文件,对么

正确。
编译(compilation , compile)
1、利用编译程序从源语言编写的源程序产生目标程序的过程。
2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。
编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。

❸ 什么是目标代码

目标代码(object code)指计算机科学中编译器或汇编器处理源代码后所生成的代码,它一般由机器代码或接近于机器语言的代码组成。目标文件(object file)即存放目标代码的计算机文件,它常被称作二进制文件(binaries)。目标文件包含着机器代码(可直接被计算机中央处理器执行)以及代码在运行时使用的数据,如重定位信息,如用于链接或调试的程序符号(变量和函数的名字),此外还包括其他调试信息。目标文件是从源代码文件产生程序文件这一过程的中间产物,链接器正是通过把目标文件链接在一起来生成可执行文件或库文件。目标文件中唯一的要素是机器代码,例如,用于嵌入式系统的目标文件可能仅仅含有机器代码。
目标代码通常采用三种形式:机器语言,汇编语言,待装配机器语言模块。
生成目标代码时应着重考虑的问题: (1)如何使生成的目标代码较短; (2)如何充分利用寄存器,以减少访问内存次数; (3)如何充分利用指仅系统的的特点。

❹ 如何用编译器将自己的源代码转换成目标代码

我们使用编译器将自己的源代码转换成目标代码,
使用链接器将我们的目标代码链接成一个可执行程序。另外,
我们使用一些程序在计算机中输入源代码文本并且编辑它。这些是最初的和最重要的工具,
它们构成程序员的工具集合或“程序开发环境”。
如果你使用的是命令行窗口,
就像很多专业程序员所做的那样,
你将不得不自己来编写编译和链接命令。如果你使用IDE(“交互式开发环境”或“集成式开发环境”),
就像很多程序员所做的那样,
简单地点击正确按钮就可以完成这个工作。附录C介绍了如何在你的C++实现中编译和链接。
IDE通常包括一个具有有用特性的编辑器,
例如用不同颜色的代码来区分你的源代码中的注释、
关键字和其他部分,
以及其他帮助你来调试代码、
编译和运行代码的功能。调试是发现程序中的错误和排除错误的活动,
你在前进的道路上会听到很多有关它的内容。
我们使用微软的Visual
C++作?喑炭
⒒肪呈道
H绻
颐羌虻サ厮怠氨嘁肫鳌被蚴恰癐DE”的某些部分,
那就是所指Visual
C++系统。但是,
你可以使用一些提供最新的、
符合标准的C++实现的系统。我们所说的大多数内容(经过微小的修改)对所有的C++实现都将是正确的,
并且其代码可以在任何地方运行。在工作中,
我们使用几种不同的实现。

❺ 可否谈一下C++编译器大致是如何把C++源代码编译成目标代码的

大致分成以下几个阶段:并以以Linux下的GCC编译器举例

第一阶段:预处理,这个阶段处理宏等
第二阶段:编译,包括语法检查,头文件检查等
g++ -c name.o name.cpp name.h 生成目标文件
第三阶段:链接,包括静态链接与动态链接
g++ -o name name.o 生成汇编文件,可以直接运行

❻ 编译器将高级语言程序转变为目标代码 这句话是否正确

对的,高级语言程序如c/c++,目标代码是指对应机型的代码,如X86,MIPS,ARM,PowerPC
普通的编译器就是完成这个工作.如gcc,clang
至于java,python这类实际带有虚拟机的语言会有所不同,会生成比目标代码再高一层的字节码,最终由虚拟机运行(实际运行时也是目标代码)(不考虑jit),不过这里不考虑

❼ 静态库文件全部编译成目标码吗

不可以。
只有静态库中的可执行文件可以编译成目标码。
程序编译一般需经预处理、编译、汇编和链接几个步骤。在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件,在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中。这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝,缺点就是被多次使用就会有多份冗余拷贝。

❽ 编译程序能直接将源代码转换成目标代码吗

这个中间代码是个必须的步骤,不能省略。打个比方:再怎么先进,也不可能把一只活猪赶进机器里,然后另一头就出来一盘盘做好的菜是吧?

❾ c语言中的编辑,编译,连接,运行分别是什么意思

1、编辑:编写代码,制作C语言的源文件。

2、编译:是由编译程序将C语言源文件转换成二进制中间文件,对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。

3、链接:将编译中生成的中间文件组合成二进制可执知行文件,这一步会对文件之间的关联做检查,如果出错,将不会生成可执行文件,也就无法执行。

4、执行:运行可执行文件,这一步道是编写代码的最终目的。

(9)编译成目标代码扩展阅读:

DOS命令通常分为三类:内部命令、外部命令和批处理命令。

1、内部命令:

其包含在命令解释程序COMMAND.COM中,一旦启动DOS,这些命令就被调入内存,只要在DOS系统提示符下输入这些命令,就可立即执行。

2、外部命令:

其以文件的形式存储在系统盘上,所带扩展名为COM和EXE。DOS启动时,它们并没有被调入内存,执行前必须从系统盘读进内存。因此输入外部命令时,要了解该命令是否在当前盘上,不然DOS无法找到它们。

3、批处理命令:

实际上是个文件,该文件包含多条命令,当用户键入批处理文件名时,DOS将顺序执行其中的各条命令。注意,批处理命令必须用“.BAT”作为扩展名。

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单。

当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。

网络-运行命令

网络-C语言

阅读全文

与编译成目标代码相关的资料

热点内容
卖手表的app哪里可以卖 浏览:51
放管服务器怎么办理 浏览:627
手机号码如何加密 浏览:424
沈阳程序员培训学校 浏览:538
一般服务器如何配置 浏览:895
图片怎样加密发邮件 浏览:619
万虹电脑文件夹密码忘记了怎么办 浏览:631
rc108单片机 浏览:867
战雷如何改变服务器 浏览:674
mactelnet命令 浏览:51
压缩袋压缩了拿出来 浏览:401
安卓手机相机怎么设置权限 浏览:121
美女程序员转行做主播 浏览:671
办理解压房产 浏览:575
道路工程概论pdf 浏览:390
超棒数学速算法大全 浏览:938
小米易语言登录源码 浏览:32
砖墙内加密钢筋 浏览:994
乡关何处pdf 浏览:86
小猪领赞小程序源码 浏览:337