读书笔记——深入理解计算机系统01
1、Cygwin环境安装:该书中有示例程序需要编译,我选择gcc,所以在Windows上安装了Cygwin。安装非常简单,一路Next后通过快捷方式——Cygwin Bash Shell 可进入Linux Shell。
2、gcc编译:写一个简单的c程序,并(在Linux Shell中)调用gcc进行编译,便后的文件可以在Shell运行。要脱离Shell在Windows中运行 则需要把cygwin1.dll复制到适当位置(一般是当前路径或Windows的系统路径,如system32等)。
3、再复习编译的过程:编译的过程经过预处理器、编译器、汇编器、链接器四个阶段完成。预处理器处理源代码中的指令如 include等;编译器将源代码翻译成汇编语言源代码;汇编器将汇编源码编译二进制目标代码,链接器处理对其它库函数(如:printf)的引用,其它函数一般存在于其它的目标文件中(如printf.o),连接器负责将引用的函数导入,并生成最终的可执行文件;
4、如何判断是否可执行文件:Windows中由特殊的文件后缀名标示可执行文件,但在其它OS中却有不同在Unix/Linux中就没有文件后缀,判断的标准在乎文件的实际内容。