A. C程序执行时,编译器是将c语言直接翻译成机器语言0101吗
这种理解有些问题,非常原始
以VC为例,将C程序编译成obj文件,cl将obj链接成exe文件
Windows系统负责加载运行exe文件,
以前所谓的机器语言是Windows内嵌的与硬件(CPU)连接的一个执行核心
B. 汇编语言或C语言 如何生成 机器代码
汇编语言或C语言经过编译器编译连接,就会生成HEX文件,将HEX文件转换成BIN文件,这个BIN文件就是纯粹的机器代码了。
C. C语言编译到机器码的过程求详细解说,不胜感激
从编码到生成可执行的binary文件是有好几个过程的:(默认已完成编码)
1, 预编译(预处理), 也就是替换工作, 先把代码中的宏做替换, 条件编译等会做处理,为编译做作准备;
2,编译,包括了语法的检查,汇编代码等中间代码的生成,代码优化,obj文件(也算是目标代码)的生成,已经是有机器码了;
3.库的合成,这个不一定有,不是必须的;
4.链接, 连接器会按照一定的规则,比如根据连接脚步,把code组织起来,生成elf文件(elf可能不是一个所有通用的格式),这个时候已经可以执行了,里面的可以执行的机器码;
5,裁剪, 可以把elf文件中的非必需的段 strip,生成一个更精简的elf文件;
6,binary的生成,obj命令可以把elf文件转换成binary文件,binary文件烧录到存储器中可以直击运行。
D. 怎么把C语言转化为相应对机器语言
C编译器啊,gcc之类的,在cmd下直接使用gcc命令进行编译,形成可以在机器上可以执行的程序
E. 负责把c语言编译成 机器语言 的编译器是什么
目前最流行的C语言编译器有以下几种:
·GNU Compiler Collection 或称 GCC
·Microsoft C 或称 MS C
·Borland Turbo C 或称 Turbo C