Linux学习心得(二)

今天学习了gcc编译器和gdb调试工具,初步接触了shell脚本

(1)GCC编译器

整个编译过程可以分为4个阶段

1.预处理:本阶段进行头文件展开

2.编译:检查语法,翻译成汇编语言

3.汇编:把汇编语言翻译成机器语言

4.链接:链接一些库(函数)

整个编译过程为:gcc -E test.c -o test.i

gcc -S test.i -o test.s

   gcc -c test.s -o test.o

                           gcc test.o -o test

接下来在命令窗口输入:./test就可以编译test.c程序了

(2)GDB调试工具

在使用gdb调试时,被调试的应用程序最会使用-g参数将调试信息编入目标文件中

    gcc -g test.c -o test

此时在命令窗口输入:gdb test就会进入gdb交互界面,在gdb交互界面也有一些常用指令:

list(l)   列出源码

break(b)   设置断点

run(r)  从头开始运行程序

continue(c)  从停止除继续运行程序

next(n)  向前执行一句(不进入被调用函数)

step(s)  向前执行一句(可进入被调用函数)

return(r)  从当前函数返回

print(p)   显示变量或表达式的值

x                  显示内存值

quit(q)   退出gdb

(3)shell脚本

固定格式:#!/bin/bash

执行脚本时要先修改权限,一般为 chmod  755  filename.sh

执行脚本:./filename.sh   or  sh filename.sh   or   bash  filename.sh

$符号:使其后的普通字符作为变量名,如$a表示变量a的值

#符号:注释符

单引号:被引起的字符全部做普通字符,即全部原样

双引号:引号内的内容除$、转义符\、倒引号`这三个保留特殊功能其他字符均做普通字符

倒引号:引号内的字符串当做shell命令行解释,执行得到的结果取代整个倒引号括起来的部分。

echo指令:$#   命令行参数个数
                   $*   输出所有参数
                   $n  第n个参数
                   $0  当前程序名

for循环语句:

for  变量  in 列表

do

语句1

语句2

........

done

case语句:

case  值  in

模式一)  语句1

语句2

.........;;

   模式二)   

                        语句1

语句2

.........;;

if判断语句

if  条件

then 

command

elif

then

command

else

command

fi

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值