From af4b82c4bacc01b31113d39789495e708663bada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=A4=A7=E4=BB=99?= <1900919313@qq.com> Date: Wed, 9 Oct 2024 01:08:59 +0000 Subject: [PATCH] =?UTF-8?q?2024=E5=B9=B410=E6=9C=889=E6=97=A5=2009:08?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/notes/02_c-leap/06_xdx/index.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/notes/02_c-leap/06_xdx/index.md b/docs/notes/02_c-leap/06_xdx/index.md index 5c82eaf..d24ae8e 100644 --- a/docs/notes/02_c-leap/06_xdx/index.md +++ b/docs/notes/02_c-leap/06_xdx/index.md @@ -33,6 +33,17 @@ > - 为什么需要链接库文件? > - 因为我们的 C 程序会使用 C 程序库中的内容,如:`` 中的 `printf()` 函数,这些函数不是程序员自己写的,而是 C 程序库中提供的,因此需要链接。其实,在链接过程中,还会加入启动代码,这个启动代码(和系统相关,Linux 下主要有 crt0.c、crti.c 等,它们设置堆栈后,再调用 main() 函数)负责初始化程序运行时的环境。 +- 过程 ④ :执行,即:有了可执行的 `*.exe`文件,我们就可以在控制台上执行运行此 `*.exe` 文件。 + +> [!NOTE] +> +> 如果`修改`了源代码,还需要重新`编译`、`链接`,并生成新的 `*.exe`文件,再执行,方能生效。 + +## 1.2 和其他编程语言的对比 + +* 在编译和链接之前,C 语言需要对源文件进行一些文本方面的操作,如:删除代码中的注释,但是不会进行语法检查、头文件包含、宏展开、条件编译等,这个过程叫做预处理,由`预处理程序(预处理器)`完成。 +* 较之其他的编程语言,如:Java 、C# 等,C/C++ 语言更依赖预处理器,所以在阅读或开发 C/C++ 程序的过程中,可能会接触到大量的预处理指令,如:`#include`、`#define` 等。 + # 第二章:宏定义