C 环境设置
本地环境设置
如果想要设置一个 C 语言环境,我们需要一个文本编辑器(Notepad++)和 C 编译器(GCC)。
文本编辑器
用于编写我们的程序代码,像 Linux 平台下常用的是 Vim ,Vim 的使用对我来说较为复杂,所以我选择使用Notepad++,通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。C 程序的源文件通常使用扩展名 .c。
C 编译器
写在源文件中的源代码是人类可读的源。它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序。
C 语言编译器用于把源代码编译成最终的可执行程序。这里假设您已经对编程语言编译器有基本的了解了。
最常用的免费可用的编译器是 GNU 的 C/C++ 编译器(GCC、G++)。
在 Unix/Linux 下,这里我安装是Ubuntu系统
$gcc -v //可以查看是否安装了gcc
GCC编译过程
gcc main.c -o main
选项 | 作用 | 示例 |
---|---|---|
-o ( filename ) | 指定输出文件名 | gcc a.c -o a |
-E | 输出预处理后的代码文件 | gcc a.c -o a.i -E |
-S | 输出预处理后的汇编代码文件 | gcc a.c -o a.s -S |
-c | 输出链接后的可重定位文件 | gcc a.c -o a -c |
-g | 在编译结果中加入调试信息 | gcc a.c -o a -g |
-I(path) | 指定头文件路径 | gcc a.c -o a -I./include |
-L(path) | 指定库文件路径 | gcc a.c -o a -L.lib |
-O(rank) | 指定优化等级 | gcc a.c -o a -O2 |
-static | 指定静态链接 | gcc a.c -o a -lxxx -static |
-Wall | 打开所有警告 | gcc a.c -o a -Wall |
-
预处理:根据字符#开头的命令,修改原始+ + 程序,#include、#define 这个阶段不会检查语法。
-
编译:把预处理之后的源码翻译成汇编程序(编译器决定你的程序之后在那个环境可运行)。
-
汇编:将汇编程序翻译成机械指令,输出重定向文件。
-
链接:把使用到的程序从库里面链接上。