c语言的编译过程
2013-12-24 19:38
239 查看
c语言的开发是首先写出所有的源代码,然后编译成为可执行代码,然后才可以被cpu执行。
c语言的源代码在编译器看来只不过是一堆字符串而已,在我们看来或许可以看得懂,但是在cpu看来会是一堆什么都不是的乱码,只有用编译器将这些字符串编译成为二进制命令才可以执行。
编译的过程就是:首先把代码编译成为中间文件,中间文件就是二进制文件,但是这是cpu还不能执行,因为还没有用连接器进行连接,连接以后才可以执行。
举例说明:
以下是一段简单的c语言代码
#include <stdio.h>
int main(void)
{
printf("hehe");
return 0;
}
这些代码首先被编译器编译成为中间文件,但是这时的中间文件中比如printf函数还没有被弄成二进制可执行代码,因为printf函数是c语言的库函数,编译器不认识,所以进行第二步的连接。
就是:从库函数中把printf函数给找出来并且弄成可执行代码,然后得到的exe文件才是真正可在cpu上执行的文件。
c语言的源代码在编译器看来只不过是一堆字符串而已,在我们看来或许可以看得懂,但是在cpu看来会是一堆什么都不是的乱码,只有用编译器将这些字符串编译成为二进制命令才可以执行。
编译的过程就是:首先把代码编译成为中间文件,中间文件就是二进制文件,但是这是cpu还不能执行,因为还没有用连接器进行连接,连接以后才可以执行。
举例说明:
以下是一段简单的c语言代码
#include <stdio.h>
int main(void)
{
printf("hehe");
return 0;
}
这些代码首先被编译器编译成为中间文件,但是这时的中间文件中比如printf函数还没有被弄成二进制可执行代码,因为printf函数是c语言的库函数,编译器不认识,所以进行第二步的连接。
就是:从库函数中把printf函数给找出来并且弄成可执行代码,然后得到的exe文件才是真正可在cpu上执行的文件。
相关文章推荐
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 威金变种 rundl132.exe RichDll.dll,f1.exe,f2.exe,f3.exe,f4,exe,f5.exe,f11.exe解决方法
- LCL.VBS 病毒源代码
- 关于C语言中参数的传值问题
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- 探讨C语言的那些小秘密之断言
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- 基于C语言fflush()函数的使用详解
- 关于C语言除0引发的思考
- 深入分析C中不安全的sprintf与strcpy
- 探讨register关键字在c语言和c++中的差异
- C中实现矩阵乘法的一种高效的方法
- c语言printf函数的使用详解
- C语言学籍管理系统源代码
- 浅析C语言中的sizeof
- c语言内存泄露示例解析
- 浅析C语言位域和位段
- 解析C语言中位字段内存分配的问题
- 学生成绩管理系统C语言代码实现