2017.11.08 周三 Linux中的一些常用工具

来源:互联网 发布:电脑连上网却没有网络 编辑:程序博客网 时间:2024/05/16 18:32

  经过周二一天的学习,我了解并能够使用了Linux的一些工具,例如GCC编译器,嵌入式调试器GDB,Make工程管理器还有shell编程。

  首先,GCC编译器的作用是将.c代码转换成可执行的文件。在使用GCC编译程序时,编译过程可以被分为四个阶段:1.预处理,将.c文件转成.h文件。  2.编译:检查程序是否有错误,并产生一个.s汇编文件。  3.汇编:把汇编程序翻译成CPU可以识别的二进制文件,即为目标文件。  4.链接:把程序中所有的目标文件和所需的库文件都链接在一起,最终生成一个可以直接运行的文件,称为可执行文件。   ELF指二进制文件。

  其次,嵌入式调试器GDB是为了 调试程序的错误或者改变一些代码,调试功能非常强大。使用命令“gdb 文件名”即可启动GDB开始调试。输入命令l(list)可以查看源文件。在GDB中通过命令b(break)设置断点,命令(info b)可以查看断点情况,命令r(run)即从头开始运行程序,但是会在断点行数的前一行暂停运行,命令“p 变量值”可以查看变量值,命令c(continue)继续运行程序,但是会再次在断点处暂停,通过命令s(step)可以单步运行程序。

  然后是make工程管理器,在开发程序的过程中,因为仅仅通过gcc命令对程序进行编译是非常低效的,所以有了make工程管理器。优点使用方便,调试效率高。make工程管理器是完全根据makefire文件中的编译规则命令进行工作的。makefire文件有三项内容组成:需要生成的目标文件(target fire),生成目标文件所需要的依赖文件(dependency file),生成目标文件的编译规则命令行(command)。格式如下:

target file:dependency file    

(Tab键)command

其中,Makefile规定在书写command命令行前必须加一个<Tab>键。

  最后,Shell是命令解析器,将用户的输入的指令转化为机器可以运行的程序。利用vi等文本编辑器编写Shell脚本的格式是固定的,如下:
#!/bin/sh
#comments
Your commands go here

首行中的符号#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程 序。编辑完毕,将脚本存盘为filename.sh,文件名后缀sh表明这是一个Bash脚本文件。在执行脚本文件前需要修改权限。shell中的一些默认变量有:$#:传入脚本的命令行参数个数 , $*:所有命令行的参数值,在各个参数值之间留有空格,$0:命令本身(shell文件名),$1:第一个命令行参数,$2:第二个命令行参数。

  在这些工具中gcc编译器和GDB调试器较为简单,我感觉make工程管理器和shell的编写还不是很熟悉,还需要多加练习。所以,加油,努力!

原创粉丝点击