LINUX期末复习---程序设计入门

一、GCC

(最最常见:gcc    hello.c   –o    hello)

①常用选项

-c:仅对源文件进行编译
-o:对生成的代码进行优化,有0,1,2,3四个等级,默认为2
-g:加入调试信息
-I dir:编译源文件是增加一个搜索库文件的目录
-w:禁止所有警告
-W warning:允许warning这样的警告

②gcc文件扩展名规范

.i:预处理后的c语言源程序
.ii:预处理后的C++语言程序
.s:预处理后的汇编程序
.S:未预处理的汇编程序
.o:目标文件

③gcc使用举例

1)生成预处理文件
gcc –E  hello.c –o hello.i
说明:  -E  只激活预处理。
2)生成汇编文件
gcc –S hello.c –o hello.s
说明:-S 只激活预处理和编译,就是指把文件编译成为汇编代码。
3)生成目标文件
gcc –c hello.c –o hello.o
说明:-c:仅对源文件进行编译。
4)生成可执行文件
gcc hello.c –o hello
5)编译多个文件
      目录结构一:
cut1 
     
编译命令:gcc my_app.c greeting.c –o my_app

     目录结构二:
cut2 
      方法一编译命令:gcc my_app.c functions/greeting.c –o my_app –I functions
      方法二编译命令(分步):  gcc –c my_app.c
                                   gcc –c functions/greeting.c –I functions
                                    gcc my_app.o greeting.o –o my_app

二、GNU MAKE

①make的作用?

答:当工程量比较大时,如果仅仅修改了一个文件,在手动编译方式下则需要一个一个重新编译每一个文件,但是如果是自动编译就要方便的多,使用make,一句就可以更新整个工程。

②初级Makefile
clip_image002

③中级Makefile
clip_image002[6]

$^:所有依赖的名字。
$@:规则的目标文件名。
$<:第一个依赖的文件名

④高级Makefile
clip_image002[8]

三、GDB

①如何进入调试?

first step:  gcc –g hello.c –o hello
then:         gdb hello

②常见命令使用

1、查看当前源程序的信息:info source
2、设置断点:br swap(某一函数初)     br 23(某一行)    info br(查看断点信息)   br 23 if j==5(for)
3、删除断点:del 12(某一行)
4、执行程序:run
5、查看变量x的值:  p x
6、单步走:n
7、继续执行:cont

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值