Linux学习之初试编程基础

想来想去还是重新学习下linux下面的基本操作吧,就当做是熟悉指令了。

把国嵌的实验重新做一遍,虽然之前有做过,但是也没有做什么记录,所以自己现在感觉有点没谱,所以从gcc开始:

一、编写一应用程序,使用gcc进行编译,并分别使用-o,-g,-static,-O2选项

1_1.c


1_2.c


1、 执行指令 gcc 1_1.c 1_2.c 默认生成 a.out可执行文件

2、 执行指令gcc 1_1.c 1_2.c –o a 则可以指定生成可执行文件的文件名a作用和1相同

3、 执行指令gcc  - g  1_1.c 1_2.c –o  a 则可以生成具有调试信息执行文件

4、 执行指令gcc  –static  1_1.c 1_2.c -o b 则可以生成文件b 但是通过ls –l 指令可以发现a和b文件的大小是不一样的,如下所示:


所以后者绑定了库文件,是为静态库连接!

5、 执行指令 gcc –O 1_1.c 1_2.c 暂时没有发现有什么好处!

二、GDB程序的调试,编写一应用程序,使用gdb调试,调试中使用到该小节介绍的所有命令。编写测试程序如下1_1.c


1、 执行指令 gcc –g  1_1.c生成a.out文件,并且是带有调试信息的。

2、 执行指令gdb  a.out进入调试状态!首先一个命令list(l)可以查看调试的程序。

3、 break(b) 函数名:表示在该函数入口打断点;break(b)行号:表示在该行处打断点

break(b) 文件名 行号(函数名):表示在指定的文件名指定的行号(函数)处打断点

4、 run(r):表示直接运行

5、 next(n):表示不进入子函数而单步执行下一步

6、 step(s):表示进入子函数而单步执行下一步

7、 continue(c):表示继续运行程序

8、 print(p) 变量名:表示查看当前变量的值

9、 watch 变量:对当前变量进行监控

11、quit(q):退出程序调试

12、start 开始运行到main函数

13、backtrace命令(简写为bt):可以查看函数调用的栈帧

14、finish 可以运行当前函数直到返回调用处

10、             GNU make的使用

编写三个程序如下




可以用命令行的方法进行编译,确实是实现了它的比较大小的功能

键入 vimmakefile

输入以下内容


几点重要的说明:

$<:代表第一个依赖文件  

$@:代表当前目标 

$^:代表所有依赖文件

Makefile #后面的内容表示注释

@表示取消回显

.PHONY表示声明一个伪目标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值