diff --git a/source/chapter1/1app-ee-platform.rst b/source/chapter1/1app-ee-platform.rst index 3e6488f9..81095d13 100644 --- a/source/chapter1/1app-ee-platform.rst +++ b/source/chapter1/1app-ee-platform.rst @@ -165,6 +165,16 @@ .. _term-platform: +.. note:: + + 现代编译器工具集(以C编译器为例)的主要工作流程如下: + + 1. 源代码(source code) --> 预处理器(preprocessor) --> 宏展开的源代码 + 2. 宏展开的源代码 --> 编译器(compiler) --> 汇编程序 + 3. 汇编程序 --> 汇编器(assembler)--> 目标代码(object code) + 4. 目标代码 --> 链接器(linker) --> 可执行文件(executables) + + 对于一份用某种编程语言实现的应用程序源代码而言,编译器在将其通过编译、链接得到可执行文件的时候需要知道程序要在哪个 **平台** (Platform) 上运行。这里平台主要是指 CPU 类型、操作系统类型和标准运行时库的组合。从上面给出的 :ref:`应用程序执行环境栈 ` 可以看出: - 如果用户态基于的内核不同,会导致系统调用接口不同或者语义不一致;