美文网首页
[第5期] 工欲善其事 必先利其器(二)

[第5期] 工欲善其事 必先利其器(二)

作者: 坑儿里的小朕 | 来源:发表于2019-04-20 01:17 被阅读0次

    ✌大家好,这里是小磊说书,我是小磊,欢迎大家来听我说书!言归正传...

      ,今天给大家继续展示一个Linux案例开发过程:

    C语言课程

    案例二

    工具:

      CentOS 6.5 + GCC + Vim

    描述:

      在CentOS 6.5系统下,使用编译工具GCC配合编辑工具Vim试验第一个经典程序Hello World

    过程:
    • CentOS简单指令
    • 创建文件夹
      mkdir [directoryname]
    • 显示文件夹内容
      ls - 显示文件夹内容
      ls -a - 显示文件夹全部内容(含隐藏文件...)
      ls -l - 以列表形式显示文件夹内容的详细信息
    • 创建文件
      touch [filename]
    • 修正文件权限
      chmod [+/-options] [filename]
    • 切换文件夹路径
      cd [pathname]
      ,通过文件的名称颜色可以简单区分文件属性!
    • Vim简介
    • 打开编辑器
      vi/vim [filename]
    • 进入/退出编辑状态(进入命令行状态)
      i/ESC
    • 编辑指令
       向前/后删除
        Backspace/Delete
       输入 - 任意可打印字符
       光标移动上/下/左/右
        j/k/h/l或者方向键
      ,安装了管理工具的系统,很多指令不需要了,使用规则和Windows一样
    • 命令行指令
       当前位置前/后插入 i/a
       当前行首/尾插入 I/A
       当前行前/后插入行 O/o
       删除当前光标下的字符 x
       删除当前行 dd
       拷贝当前行 yy
       粘贴在当前位置前/后 P/p
       正向/反向查找命令 /text/?text(按N/n查找前/后一个)
       退出/强制退出(不保存)/保存退出/保存 :q/:q!/:wq(:x)/:w
    • GCC/G++简介
    • GNU简介
      GNU是一款自由的操作系统,是GNU计划的产品,全称GNU’s Not Unix,类Unix系统。
    • GCC语法
      gcc [options] [filename]
    • OPTIONS
      -c 只编译,不链接成可执行文件,生成中间文件-.o
      -o 制定输出文件的文件名,若不指定,则生成-.out
      -g 生成的文件中包含可调试的符号标记,供GDB指令使用
      -O 优化参数
      -O2 更好的优化参数
      -v 显示执行的详细过程,包括版本号等
      -E 只激活预处理
      -S 只激活预处理和预编译
    • 编译过程
       预处理阶段 gcc -o *.i -E *.c
       汇编阶段 gcc -o *.s -S *.i
       编译阶段 gcc -o *.o -c *.s
       链接阶段 gcc -o *.out *.o
    • 执行
      ./*.out
    • GDB简介
    • GDB语法
      gdb [filename]
      gdb + file [filename]
    • 调试指令及参数
       详见下表[摘自百度网页]
    • 补充
      gcc编译需要带有-g参数的文件才能调试
      list默认显示代码10行
      list x显示以x行为中心的10行
      list functionname显示以函数名functionname为中心的10行
      list -显示上一周期打印过的源代码
      break loc在loc位置设置断点
      info breakpoints显示断点信息
      delete breakpoints删除全部断点
      delete breakpoints x删除断点x
      clear n清除第n行的断点
      disable/enable x设置断点x是否可用
      display cnt查看参数的值,disableenabledeleteinfo等也可用于操作参数
      step n/next n跳过n条语句
    命令 缩写 说明
    list l 显示多行源代码
    break b 设置断点,程序运行到断点的位置会停下来
    info i 描述程序的状态
    run r 开始运行程序
    display disp 跟踪查看某个变量,每次停下来都显示它的值
    step s 执行下条语句,若为函数调用,则进入函数执行其第一条语句
    next n 执行下条语句,若为函数调用,不进入函数内部执行,即不用步步执行
    print p 打印内部变量值
    continue c 继续程序的运行,直到遇到下一个断点
    set name=n 设置变量的值
    start st 开始执行程序,在main函数的第一条语句前面停下来
    file 装入需要调试的程序
    kill k 终止正在调试的程序
    watch 程序运行中,监视变量值的变化
    backtrace bt 查看函数调用信息(堆栈)
    frame f 查看栈帧
    quit q 退出GDB环境

    ✨ 更多精彩,期待中...

      👉 详情请参考视频解说! 📄ohxr
      ✉ liuxiaoleivc@163.com


    版权声明®

      版权所有,翻版必究!
      小磊说书系列课程文本及表格均为原创作品,可以转载或学习,但要注明作者和出处,然文章中图片均链接自百度网页,未经作者许可禁止一切商用活动!

    相关文章

      网友评论

          本文标题:[第5期] 工欲善其事 必先利其器(二)

          本文链接:https://www.haomeiwen.com/subject/aydhgqtx.html