⑴ 编译原理里,什么是源语言,什么是目标语言,什么是翻译器,什么是编译器,什么是解释器,什么是T形图
在vc 将c/c++代码翻译成asm文件的过程中
c/c++ 是源语言 asm是目标语言 vc是翻译器
vc将asm在编译成 obj文件 最后于库文件链接成 二进制文件 vc就是编译器
java中 需要跑一个 java虚拟机 比如 sun的 java.exe java.exe就是解释器
c语言 a机器 c语言 b机器 C语言 b机器
a机器 c语言 a机器
图a 图b 图c
在上图中,图(a)为已有的编译程序,图(c)为需要得到的编译程序,图(b)为需要书写的编译程序,只要我们把(b)在(a)上编译就可得到(c)
打个比方
编译器a是已有的在intel主机上将c语言翻译成可在intel主机上运行的编译器 我们希望得到在intel机器上运行的将c语言翻译成可在苹果主机上运行的编译器c 那么我们只需要用c语言写一个将c语言翻译成可在苹果主机上运行的编译器b, 在编译器a上编译c语言写的编译器b 就可以得到编译器c
在Linux下面,如果要编译一个C语言源程序,我们要使用gcc编译器。
先将源文件编译成目标文件:gcc - c hello.c
生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o
如:
int main(int argc,char **argv)
{
printf("Hello Linux ");
}
(2)编译源语言扩展阅读:
在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,这里只介绍其中最基本、最常用的参数。具体可参考GCC Manual。
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是编译器所需要的参数,filenames给出相关的文件名称。
网络_gcc
⑶ C语言源程序的编译过程包括哪三个阶段
编译:将源程序转换为扩展名为.obj的二进制代码
连接:将obj文件进行连接,加入库函数等生成可执行文件
运行:执行可执行文件,有错返回修改,无错结束
⑷ 如何编译C语言源代码
下载一个VC2005软件,把代码复制到里面,设置好C运行环境,点击编译,OK,然后点击那个感叹号,直接链接运行,就OK了。
⑸ 编译型语言有哪些呢
编译型语言有C、C++、Objective-C、Swift、Kotlin等高级语言。需要将源代码编译成机器码,再由机器运行机器码。只需编译一次,运行速度快,执行效率高。
编译型语言和解释型语言区别在于:
编译型语言,通常都会对源代码进行编译,生成可以执行的二进制代码,执行的是编译后的结果。
解释型语言,通常不用对源代码进行编译,一般是通过解释器载入脚本后运行。由于每个语句都是执行的时候才进行解释翻译,这样解释性语言每次执行就要翻译一次,效率相对要低。至于难度,个人感觉java相对要更复杂些。
⑹ 简述什么是源语言,目标语言,中间语言
1、源语言:源语言是可以引导出另一种语言的语言。
2、目标语言:目标语言,是一种利用特定语言输入目标语言的方法。
3、中间语言:是一种面向语法,易于翻译成目标程序的源程序的等效内部表示代码。
拓展资料
一、中间语言
中间语言与具体机器特性无关,一种中间语言可以为生成多种不同型号的目标机的目标代码服务。可对中间语言姿颂纳进行与机器无关的优化,有利于提高目标代码的质量。把源程序映射成中间代码表示,再映射成目标代码的工作分在几个阶段进行,迹没使编译算法更加清晰。
二、目标语言
翻译程樱粗序的输出称目标程序。一般说,目标程序都是机器语言程序,输出的语言就称为目标语言。
目标语言是由源码编译或汇编所得的语言。它是自动编码程序输出的一种语言。在将信息从一种语言转换成另一种语言时,原来的语言被称为源语言,而输出的语言则被称为目标语言。通常,目标语言与机器语言可以是相同的,但当编码程序是由一系列步骤才能完成时,则目标语言中的一个步骤可以是下一步的源语言。
(资料来源:中间语言——网络)
⑺ 简述什么是源语言,目标语言,中间语言
源语言是外语翻译专业术语,和目标语相对。 源语言(可以引导出另一种语言的语言。在最信拦初编写计算机程序时所使用的语言,就是源语言。源语言一般指的是,编写源程序所用的语言,它必须翻译成机器语言*才能在计算机中使用。) 目标语言:目标语 中间语言:独立野坦历于任何特定自然语言的中介表达式,能够统摄机颂搜器翻译所需的句法和语义信息,在机器翻译系统中表示源语和目标语之间的联系。
⑻ 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将
本题正确答案应为B选项。
C选项为错误答案。
原因如下:
1、编译程序仅仅是将源语言编写的源程序转换为目标程序。
2、编译是把高级语言变成计算机可以识别的2进制语言。
3、编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。
显然,编译的过程中并没有运行程序输出结果的步骤茄戚,编译的结果是生成目标文件(代码)。
因此C选项为错误答案,B选项为正确答案。
编译原理图如下:
目标代码(目标文件)生成是编颤绝陵译的最后一个阶段。目标代码生成器把语法分析后或优化后的中间代码变换成目标代码。目标代码有三种形式:
1、 可以立即执行的机器语言代码,所有地址都重定位;
2、待装配的机器语言模块,当需要执行时,由连接装入程序把它们和某些运行程序连接起来,转换成能执行的机器语言代码;
3、汇编语言代码,须经过汇编程序汇编后,成为可执行的机器语言代码。
目标代码生成阶段应考虑直接影响到目标代码速度的三个问题:一是如何生成较短的目标代码;二是如何充分利用计算机中的寄存器,减少目标代码访问存储单元的次数;三是如何充分利用计算机指令系统的特点,以提高目标代码的质量。
编译宏卖_网络
⑼ C语言源文件编译问题
标准库已经是编译好的程序了,一般是.obj文件组成,编译程序将库文件取出,然后连接好地址、分配内存,不会重新编译的,编译的是你写的源文件。
换句话说,像printf这样的函数已经编译好了等你调用,已经是机器码了。
⑽ Visual Studio 2019怎么编译C语言源程序
1、首先,打开C语言编辑器工具,然后在该工具中编写程序的源代码,如下图所示,然后进入下一步。