C语言中如何区分预处理、动态库与静态库?

更新于
2026-10-03 22:31:37
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2324个文字,预计阅读时间需要10分钟。

目录 + 4.1 C语言编译过程 + 4.2 include指令 + 4.3 define指令 + 4.4 条件性编译 + 4.5 静态库 + 4.6 动态库 + 4.1 C语言编译过程 + 1. 预编译 + 将.c中的头文件展开、宏展开 + 生成.i文件


目录

4.1 c 语言编译过程

4.2 include

4.3 define

4.4 选择性编译

4.5 静态库

4.6 动态库


4.1 c 语言编译过程

1:预编译 将.c 中的头文件展开、宏展开 生成的文件是.i 文件

2:编译 将预处理之后的.i 文件生成 .s 汇编文件

3、汇编 将.s 汇编文件生成.o 目标文件

4、链接 将.o 文件链接成目标文件

Linux 下 GCC 编译器编译过程

gcc -E hello.c -o hello.i 1、预处理

gcc -S hello.i –o hello.s 2、编译

gcc -c hello.s -o hello.o 3、汇编

gcc hello.o -o hello_elf 4、链接

预处理有几种啊?

4.2 include

#include<>//用尖括号包含头文件,在系统指定的路径下找头文件

#include "" //用双引号包含头文件,先在当前目录下找头文件,找不到,

再到系统指定的路径下找。

注意:include 经常用来包含头文件,可以包含 .c 文件,但是大家不要包含.c

因为 include 包含的文件会在预编译被展开,如果一个.c 被包含多次,展开多次,会导致函数重复定义。 所以不要包含.c 文件。

阅读全文

本文共计2324个文字,预计阅读时间需要10分钟。

目录 + 4.1 C语言编译过程 + 4.2 include指令 + 4.3 define指令 + 4.4 条件性编译 + 4.5 静态库 + 4.6 动态库 + 4.1 C语言编译过程 + 1. 预编译 + 将.c中的头文件展开、宏展开 + 生成.i文件


目录

4.1 c 语言编译过程

4.2 include

4.3 define

4.4 选择性编译

4.5 静态库

4.6 动态库


4.1 c 语言编译过程

1:预编译 将.c 中的头文件展开、宏展开 生成的文件是.i 文件

2:编译 将预处理之后的.i 文件生成 .s 汇编文件

3、汇编 将.s 汇编文件生成.o 目标文件

4、链接 将.o 文件链接成目标文件

Linux 下 GCC 编译器编译过程

gcc -E hello.c -o hello.i 1、预处理

gcc -S hello.i –o hello.s 2、编译

gcc -c hello.s -o hello.o 3、汇编

gcc hello.o -o hello_elf 4、链接

预处理有几种啊?

4.2 include

#include<>//用尖括号包含头文件,在系统指定的路径下找头文件

#include "" //用双引号包含头文件,先在当前目录下找头文件,找不到,

再到系统指定的路径下找。

注意:include 经常用来包含头文件,可以包含 .c 文件,但是大家不要包含.c

因为 include 包含的文件会在预编译被展开,如果一个.c 被包含多次,展开多次,会导致函数重复定义。 所以不要包含.c 文件。

阅读全文