在c-free为什么不能编写c语言吗,难道说编译器不在c( 二 )


为什么说c,c不能跨平台 , 编译器是在计算机操作系统上的吗 , 难道说编译器不在c,c程序里吗?
首先我们纠正一下题目中一个小小的误区 , 不是C和C不能跨平台 , 应该是说是C/C源代码在编译后生成的.exe文件不能跨平台 , 源代码和可执行文件要区分开来 , 想要搞明白这个问题 , 我们先得了解一下源代码是怎么变成程序的 。四个过程:预处理——编译——汇编——可执行文件当我们编写完代码后 , 源代码会经过上述的四个环节 , 最终变成常见的可执行文件 , 
【在c-free为什么不能编写c语言吗,难道说编译器不在c】预处理阶段(hello.i):会有头文件 , 一些宏 , 注释等 。在源代码中 。预处理的目的是扩展头文件 , 替换宏文件 , 删除注释等 。 , 并对代码做一些初步的处理 。编译阶段(hello.s):这个阶段主要是检查语法错误 , 比如内存是否溢出 , 指针是否指向错误的对象 , 然后生成一个汇编文件 。汇编阶段(hello.o):计算机不知道代码 , 需要将汇编代码转换成由0和1组成的机器码链接(hello.o)