确保已安装gcc编译器
C语言程序,一般使用gcc进行编译,需确保已安装gcc。
若没有,可以使用yum安装gcc(版本4.8.5),也可以使用SCL源安装gcc(例如:版本9.3)。
安装gcc(版本9.3)参考:centos7升级gcc(版本9.3)
# 查看gcc版本
gcc --version
安装vim编辑器
centos7默认编辑器是vi。但,vim基于vi,且功能更多(例如:代码高亮),一般使用vim编辑器。
使用vim,需先安装。
# 查看yum仓库中关于vim的软件包
yum list vim*
# 安装vim
yum install vim -y
使用命令行编写C语言程序:
(1)打开 并 编辑 C语言源代码文件。
- C语言源代码文件:文件名以 .c 结尾。
- C程序中包含的头文件:文件名以 .h 结尾。
使用vi/vim打开C语言源代码文件,若没有该文件,则会创建。
# vi/vim打开C语言源代码文件(没有则会创建文件)
vim hello.c
在hello.c中写一段简单的C语言代码:输出hello, centos7。
#include <stdio.h>
int main(void)
{
printf("hello, centos7\n");
}
(2)编译链接。
# 编译链接(从.c源代码文件到可执行文件)
gcc -o hello hello.c
补充:具体编译链接过程:(以源代码hello.c举例)
① 预处理:
- C语言源代码文件(.c)--> 预处理后的C语言源代码文件(.i ) 。
- 删除注释,处理头文件、宏定义等。
- 命令:gcc -E hello.c -o hello.i
② 编译:
- 预处理后的C语言源代码文件(.i )--> 汇编语言文件(.s)。
- C语言转为汇编语言。通过语义、语法等解析,优化,汇总符号等。
- 命令:gcc -S hello.i -o hello.s
③ 汇编:
- 汇编语言文件(.s)--> 中间目标文件(.o)。
- 汇编语言转为二进制。生成段表、符号表等。
- 命令:gcc -c hello.s -o hello.o
④ 链接:
- 中间目标文件(.o)--> 可执行文件。
- 通过与各种相关的库函数链接,合并各个段表、符号表,符号表重定位等。
- 命令:gcc hello.o -o hello
(3)执行可执行文件。
# 执行可执行文件
./hello
补充:
1、C语言常用工具
(1)gdb:C语言常用的命令行调试工具。
(2)valgrind:C语言常用的检测内存、分析性能的调试工具。
(3)clang:C语言轻量级编译器。其目标之一是超越gcc。
2、centos7使用yum安装软件包组
可以使用yum安装软件包组"Development Tools",里面包含gcc,gcc-c++,make,git等。
参考:如何在 CentOS 和 RHEL 上使用 Yum 安装软件包组
# 查看可以使用yum安装的所有软件包组(也可以yum grouplist)
yum groups list
# 查看软件包组"Developments Tools"的信息
yum groups info 'Developments Tools'
# 安装软件包组"Developments Tools"
yum groups install 'Developments Tools'