Linux期末复习——C编程基础

Linux下C语言编译环境概述

        编译器:VI

        编译器:GCC

        调试器:GDB

        项目管理器:make

vi编辑器

       三种模式 

        命令行模式:默认模式,不可以编辑,只可以上下移动光标“整行删除,删除字符”,“复制”,“粘贴”

        插入模式:只有在该模式下用户才可以文字编辑输入,esc返回命令行模式

        底行模式: 这个模式光标在底部,用户可以保存文件和退出,也可以设置编辑环境

        vi工作流程

  1. 在命令行输入 vi 文件名,进入默认模式
  2. 输入i(在光标当前位置插入),进入插入模式,esc返回命令行模式
  3. 输入:wq进入底行模式                                          

        

vi命令行模式部分功能键
i插入位置为光标位置
a插入位置为光标下一位置
o插入位置为光标下一行
/name光标后查找name字符串
?name光标签查找name字符串
x删除所在位置一个字符
X删除所在位置前一个字符
yy复制光标所在行
nyy复制光标所在行下n行

        gcc编译器

                编译流程(四个步骤):

                预处理阶段:对头文件和宏定义进行处理

                  gcc -E 文件名.c -o 文件名.i

                编译阶段:检查规范性,是否有错误,生成汇编代码

                gcc -S 文件名.i -o 文件名.s

                汇编阶段:把编译阶段生成的代码转换成目标文件

                gcc -c 文件名.s -o 文件名.c

                链接阶段:生成可执行文件

                gcc 文件名.c -o 文件名 

                库函数: 

                分为静态库和动态库

                静态库:编译链接的时候,将库文件代码全部加入可执行程序【生成的文件较大,运行就不需要库文件了】

                静态库:程序执行的时候才加载库【节省系统开销】

gdb调试器

        使用流程:

        1.gcc -g test.c -o test,使用gcc编译器编译程序,加上-g,让编译的代码中包含调试信息

        2.gbd 可执行文件名,使用gdb调试可执行文件

        3.键入l,查看所载入的文件,列出的代码给出了具体行号

        4.键入b 行号,设置断点

        5.键入info b,查看断点情况

        6.在断点键入bt,查看调用函数(堆栈)的情况

        7.键入r,执行程序到断点

        8.在断点处键入p 变量名,查看断点处相关变量值

        9.单步运行:n(next 不进入断点处函数)和s(step 执行完断点处函数)

        10.键入n,恢复程序运行

make工程管理器

        用于管理较多文件,根据时间戳减少编译工作量,通过makefile文件执行大量编译工作。

        makefile基本结构

                目标体:创建目标体所依赖文件

                        具体指令(这一行必须tab开头)

        makefile变量

        简化了makefile维护工作量

        常见预定义变量的作用:简化工作量

       makefile规则

         高效,为什么?简化了makefile操作,像批处理一样

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值