编译 cpu,代码编译对cpu要求

  编译 cpu,代码编译对cpu要求

  对于非计算机行业的程来说,写C代码时写不出来的代码效率不是那么高,对编译器以及计算机处理数据和指令的操作流程也不是很了解。让我们走进编译器和计算机的世界,了解它们是如何工作的。以下内容为《深入理解操作系统》和《C性能优化》。

  1.编译器是如何工作的?

  以简单的“hello world n’”为例。

  #包含stdio.h

  int main()

  printf( hello world n );

  返回0;

  在linux系统上,编译器完成从源文件hello.c到可执行文件hello的转换。翻译过程分为四个阶段:预处理、编译、汇编和链接,形成一个编译系统。

  预处理阶段

  gcc -E你好

  主要功能:1。所有头文件都被扩展并写入源程序。

  2.宏定义替换

  3.不要检查程序语法。

  生成的hello.i文件可以自己打开!

  编译阶段

  gcc -S你好

  功能:1。检查语法的合法性。

  2.编译器将hello.i文件翻译成汇编文件hello.s。

  汇编阶段

  gcc-c hello . s-o hello . o

  汇编器把汇编文件翻译成机器指令,就是打开文件看到一些乱码。生成可执行代码你好

  Hello view属性

  你好:ELF 32位LSB可执行文件,Intel 80386,版本1 (SYSV),动态链接(使用共享库),用于GNU/Linux 2.6.15,未剥离

编译 cpu,代码编译对cpu要求