概念

Linux下C语言编程常用的编辑器是vim,编译器一般用gcc,编译链接程序用make,跟踪调试一般使用gdb,项目管理用makefile。

vim编辑hello.c

输入代码下载vim

sudo apt install vim

下载后完成输入

vim hello.c

进入编辑界面,开始c程序编辑

e52312d1699548f99d8774a8f66d8f5a.png

 

然后用esc退出编辑,输入wq,保存并退出

gcc编译器的使用

概念

GCC 编译工具链(toolchain)是指以 GCC 编译器为核心的一整套工具,用于把源代码转化成可执行应用程序。
它主要包含以下三部分内容:
• gcc-core:即 GCC 编译器,用于完成预处理和编译过程,例如把 C 代码转换成汇编代码。

• Binutils :除 GCC 编译器外的一系列小工具包括了链接器 ld,汇编器 as、目标文件格式查看器 readelf 等。

• glibc:包含了主要的 C 语言标准函数库, C 语言中常常使用的打印函数 printf、 malloc 函数就在 glibc 库中。linux系统默认安装了GCC 编译工具链,windows系统可以通过安装,使用GCC工具。

用以下四个指令查看编译结果

$ gcc -E hello.c -o hello.i
$ gcc -S hello.i -o hello.s
$ gcc -c hello.s -o hello.s
$ gcc hello.o -o hello

可以发现执行完后会在指定区域里面生成文件

用这个代码查看结果

35bbe15cfd7146b3b861a8e7adbc594a.png

 

./hello

ee0d5382f6c144d18f76919e58693141.png

 生成了hello hello.c hello.i hello.o hello.s 5个文件。

使用gbd 调试函数调用

1、使用list调试,显示代码内容和所在行号

a86a12848b7a4d799404b99238a33dda.png

 

gcc -g -o hello hello.c

2、使用gbd break调试

(gdb) break location     
(gdb) break ... if cond   

3、使用查看函数print调试

(gdb) print array[0]@2
$1 = {1, 2}
 
(gdb) print file::variable
(gdb) print function::variable

将gcc过程改为makefile管理

新建文件夹使用vim,创建并编辑heilo.c文件

$ touch makefile 
$ vim makefile

868d4b3e8ba040ca80dba07f3438bd4f.png

然后保存退出,输入make命令

即将gcc转为了makefile

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐