Linux操作系统之c程序的编译与调试

一、程序的编译链接过程

1)文件的概念:文件是一个外存的概念,文件只存在于”外存”(硬盘,U盘,网盘)中,文件由两部分构成,文件名和文件主体。文件的分类: 可执行文件,不可执行文件。
可执行文件:在Windows操作系统中,扩展名为:*.exe,*bat等的文件是可执行文件,可执行文件由指令和数据构成。Linux是靠文件属性来判断是否可执行。
不可执行文件:其内容是由数据构成。

2)编译链接原理
在这里插入图片描述
预编译阶段:
在这里插入图片描述
编译->汇编->链接 阶段
****

二、编译链接在Ubntu上的具体实现

1)首先在vim上写一个简单的c程序
在这里插入图片描述
2) 分步编译:进行预编译->编译->汇编->链接
在这里插入图片描述
3)一步编译
在这里插入图片描述

三、c程序在Linux上的调试

1)首先在vim上写一个简单的c程序
在这里插入图片描述

2)进行编译
在这里插入图片描述在这里插入图片描述

3)这时候我们发现编译出错了,所以我们进行调试
调试步骤
1)gcc -o main test1025.c -g 切换到debug版本
2)启动调试:gdb main
安装gdb -> sudo apt install gdb

在这里插入图片描述

3)gdb提示符出现 可以输入命令…启动调试成功

在这里插入图片描述

在这里插入图片描述
4)结束调试:q
5)修改代码

在这里插入图片描述
此时代码运行成功
在这里插入图片描述

四、makefile文件:实现自动化编译

一般在大型项目中使用makefile文件
文件名称 必须是 makefile -> touch 普通文件

1)安装make命令 sudo apt install make
(make 命令只针对 makefile文件 。make 执行,默认直接调用makefile文件)

2)编写c源文件 add.c mul.c main.c…这里我们已经编写好了
在这里插入图片描述
3)编写makefile文件 ,文件格式
在这里插入图片描述
4)终端执行make命令
在这里插入图片描述
5)终端执行:make clean 命令
在这里插入图片描述

五、find 命令

find 路径 -name 文件名
在这里插入图片描述

六、grep 命令

grep:过滤 文件内容

grep “int” main.c 过滤出main.c 中包含 "int"字符的所有行进行输出
在这里插入图片描述
| 管道 和grep 搭配使用 和 命令
ls /bin | grep man
在这里插入图片描述

七、关机 :showdown -h now 立刻关机

八、重启:showdown -r now

九、文件压缩和解压

文件分布压缩和解压:main.c add.c mul.c
压缩分步:将3个文件 先打包 在压缩
解压分步:将压缩包 解压 解包
在这里插入图片描述
压缩
在这里插入图片描述
解压
在这里插入图片描述
一步压缩和解压命令
tar zcvf file.tar.gz main.c add.c mul.c
tar zxvf file.tar.gz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡蓝色的经典

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值