负责把c语言编译成 机器语言 的编译器是什么?

Python016

负责把c语言编译成 机器语言 的编译器是什么?,第1张

这个有很多的,

在DOS下面有Turbo C,

Windows下有Visual C, 还有现在有一个Visual Studio不仅对能编C,还能编译C++, VB ,C#这些,当然在Windows也能用Turbo C,这个很经典!

在Linux下最著名的就是gcc了,要说的是Windows下的编译器和IDE好像都是集成在一起的,而Linux下好多IDE在编译的时候都是调用的gcc,这个你可以看一下

c语言最基本的格式,可以参考最基本的hello

world程序。hello

world程序虽然小,但是几乎包含和计算机软件技术相关的各种基础知识。

#include

int main()

{

printf("hello world\n")

return 0

}1、#include

预处理操作,谈到预处理操作,就需要了解c语言编译器生成二进制可执行文件的过程,一般为预处理阶断、编译阶断、汇编阶断、链接阶断。

预处理阶断:进行预处理操作,有预处理器来完成。

编译阶断:有c语言编译器完成,它负责将c语言源码转换成汇编指令。要深入下去就是编译原理知识。

汇编阶断:有汇编器完成,它负责将汇编指令转换成二进制机器码。要深入下去就是汇编语言以及反汇编、调试技术的内容

链接阶断:有链接器完成,它负责将二进制机器码装载成一个可执行文件,如果要深入的探索下去,就是windows或者linux平台上的库编程以及相可执行文件格式的学习,比如windows平台的pe文件格式,如果把pe格式搞明白,自己可以直接用二进制编写一个程序,这没有不可思议,实际上是网上有这方面的帖子。

2、int

main()

每个c语言程序有且只有一个main函数,一般的教科书上只有一句:“有系统调用main函数”,

那么到底

是系统中的谁调用了此函数,如此深入下去,可以加深对应用程序执行的理解,实际上在linux平台上有,_start()函数调用main函数,在windows平台上有启动函数maincrtstartup函数来调用main函数。

3、printf("hello

world\n")

这是c语言的成功之处之一,c语言将输入、输出操作设置为一个标准,这大大方便了应用程序开发,也提高了应用程序的可称植性。自己有兴趣可以深入的去探索。

4、return

0

return

0,返回值的0表示程序执行成功了。