A. 计算机中高级语言怎样转化成机器语言
将高级语言转换成由0,1构成的机器语言需要通过编译程序来实现。
编译程序实际上分为分析器,编译器,连接器等.
分析器里面又分为词法分析和语法分析.词法分析就是将源程序里的关键字,变量等等的东西解析出来,通俗点说就是把一个英语句子中的单词分析出来.而语法解析则是从语法的角度来看看源程序是否存在语法错误.
真正将高级语言变为一系列0和1的东西是连接器,将N多的obj文件编译为可以执行的exe.
当然在这之前还要有编译程序来编译目标文件.
现在的开发工具如VC,VB实际上是分析器+编译器+连接器+调试工具的集合.
另外,如果你的程序要进行系统调用的话,比如socket程序的通讯.那么需要和操作系统的资源打交道.实际上所有的IO操作,内存读写等等都要进行系统调用.哪怕是一个简单的hello world!
B. 在计算机中,将汇编语言转换为机器语言的过程叫
在计算机中,将汇编语言转换为机器语言的过程叫汇编,或者汇编过程。
汇编语言称为符号化的机器语言,不能直接执行,需要将汇编语言转换为机器语言后才能执行,将汇编语言程序转换为机器语言程序的过程称为汇编过程。
汇编大多是指汇编语言,汇编程序。把汇编语言翻译成机器语言的过程称为汇编。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。
C. 高级语言编写的程序是不能直接在计算机上执行的转换为机器语言哪两种方式
计算机不能直接识别并执行高级语言编写的源程序,必须借助另外一个翻译程序对它进行翻译,把它变成目标程序后,机器才能执行,在翻译过程中通常采用两种方式:解释和编译。
D. 机器语言和编程之间的转换
就是你说的,你写的代码经过编译器编译,最终生成机器语言
过程大致是这样:人写的代码->词法分析->语法分析->语义分析->代码优化->代码生成
我说的是大概的,具体的你可以去看编译方面的数据,如龙书,虎书,鲸书,是这方面的经典
没有点基础的人要看懂还是比较困难的,想实现编译器的制作的话就更难了
建议可以借助第三方工具:flex和bison
E. 程序语言最终怎样被转换成计算机能读懂的机械语言,0和1,
程序语言有很多,拿最常用的c/c++语言举例。
将用户的文本形式的源代码转化成计算机可以直接执行的机器代码的过程。主要经过这么几个过程:
一、预编译,又称为预处理 , 是做些代码文本的替换工作
二、编译,由编译器将c源代码(.cpp)转变成汇编代码(.s)
三、汇编,由汇编器将汇编代码(.s)转变成目标代码(.o)
四、链接,由链接器将代码在执行过程用到的其他目标代码和库文件链接成为一个可执行程序也就是目标程序。
经过以上步骤高级语言就会被解释成为计算机可以认知的机器语言。
一、预编译
1、定义
处理以# 开头的指令 , 比如拷贝 #include 包含的文件代码,#define 宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段。
主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。
二、编译
1、定义
编译的过程就是将源代码文件以字符流的形式进行处理,进行词法和语法的分析,然后通过汇编器将源代码指令转变成汇编指令,编译的过程包括两个大部分:预处理 = 预编译
2、特殊符号
特殊符号是指:例如在源程序中出现的LINE标识将被解释为当前行号(十进制数),FILE则被解释为当前被编译的C源程序的名称。预编译程序对于在源程序中出现的这些串将用合适的值进行替换。
三、汇编
1、定义
汇编过程实际上是把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。
四、链接
1、定义
由汇编程序生成的目标文件并不能立即就被执行,其中可能还有许多没有解决的问题。