首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux环境下通过GDB调试C项目实战

通过GDB调试找到程序的bug 请查看位于https://github.com/xmu-Linux101/Linux101/tree/201720182/experiments/gcc-5-gdb的代码...我们可以看到文件的目录结构是一个典型的C语言项目架构:Makefile,include文件夹下是预先定义好的库函数,粗看文件结构应该可以想到array.c是一个具体实现函数功能的文件,main.c则是总的主函数...清除已经存在的result可执行文件 make/make result:将已经得到的可执行文件main.o与array.o链接成可执行文件result,不开启O2优化或采用O0优化,在此之前将main.c和...array.o可执行文件并编译array.c生成array.o文件 main:清除已经存在的main.o可执行文件并编译mian.c生成main.o文件 main_optimize:编译mian.c生成...没啥问题,ok,下一个 主要的array.c,启动gdb调试器: ?

5.3K50
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 下makefile实战 ——编写真实的C项目

Linux 下真实的C项目设计 文件目录说明 include 存放自己设计的.h头文件之所在 include/stack.h 栈所使用的头文件。文件中已经定义出其包含的功能函数。...具体请查看文件注释 stack.c 栈的功能函数的实现文件。目前为空文件。 main.c 一个简单的主程序,调用自定义栈的功能测试入栈、出栈的功能。 Makefile make的控制文件。...实现Makefile 实现make命令完成所有编译、链接工作 实现make clean命令可以恢复代码为原始状态 运行结果 在windows下打开linux shell: ?...我们看下makefile的内容: main:main.o my_stack.o gcc main.o my_stack.o -o main main.o:main.c gcc -c main.c my_stack.o...:my_stack.c gcc -c my_stack.c clean: if [ -e main ] ; then rm main ; fi if [ -n "ls *.o >/dev/null

1.2K50

linux实战(一)

linux实战(一)----日志的截取-----文本过滤器grep、文本流式编辑器sed、报表生成器awk的运用 2015年12月25日 16:28:50 张小凡vip 阅读数 5404更多 所属专栏...: linux基础与shell编程 版权声明:本文为博主原创文章,未经博主允许不得转载。...在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。...'command'主要参数 a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!...: C条件表达式 || 逻辑或 && 逻辑与 ~ ~! 匹配正则表达式和不匹配正则表达式 >= !

2.2K10

实战最精简的 linux -- arch linux 安装

MULTICAST> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:6c:...LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:6c:...连接到指定 wifi 执行 wpa_supplicant -c -i 连接到指定的网络,其中 confi_file 就是刚刚 wpa_passphrase...安装基础组件 执行 pacstrap 指令就可以安装已打包好的软件了: pacstrap /mnt base linux linux-firmware 这个指令安装了内核的基础依赖、linux 内核,以及硬件驱动...后记 到这里,你就已经完成了最简洁的 linux 操作系统 arch-linux 的安装,重启之后,你就进入到系统命令行的登录界面,此后你就可以进行任何你想要在 linux 中进行的操作了。

7.2K10

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。...这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样...buff   Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存,我本机大概占用300多M cache cache直接用来记忆我们打开的文件,给文件做缓冲,我本机大概占用300多M(...这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)

95120
领券