嵌入式 Linux C 语言开发工具
文本编辑器Vi(Vim)
Vi分为3种状态:命令行模式;插入模式;底行模式。各功能区分如下:
命令行模式:控制光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式或者底行模式。
插入模式:只有在插入模式下,才可以输入文字,按【ESC】键可以返回命令行模式。
底行模式:将文字保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。与命令行模式可以归一类。
Vim配置文件:为了更加便捷地编写代码可以在配置文件 /etc/vim/vimrc 中修改添加相关代码,比如设置自动缩进,设置行号,设置关键字高亮等。
Vi常用的命令:
进入vim:vim file
切换至插入模式:命令行模式下按一下i键
退出vim::wq(存盘并退出vim);:q!(不存盘强制退出vim)
删除字符:x或#x 表示删除从光标位置开始处一个或#个字符(以下均为命令行模式下使用)
删除行:dd或#dd 表示从光标位置开始往下删除一行或#行
复制粘贴:yy或#yy 表示从当前行开始往下复制一行或者#行,p表示将内容粘贴在光标之后
快速移动光标:shift+g 移动至最后一行; gg移动至首行
查找关键字: /关键字 按n键可以一直往下找关键字
替换字符:%s/old/new/g 表示用new代替全文中的old
gcc编译器
编译指令:gcc tePst.c -o test 生成test可执行文件
编译过程分为4个阶段:
预处理(Preprocessing):gcc -E test.c -o test.i 处理所有#开头的语句
编译(Compilation):gcc -S test.i -o test.s 进行语法检查;将C语言翻译为汇编语言
汇编(Assembly):gcc -c test.s -o test.o 将汇编语言编译成二进制文件
链接(Linking):gcc test.o -o test 链接库文件;输出目标文件test
工程管理器 Makefile
Makefile的核心是一系列的规则,规则的基本格式为:
target:dependency
(tab字符)command
target(目标):需要生成的文件名
dependency(依赖):输入从而产生目标文件
command(命令):是make命令执行的动作。一个规则可以有多条命令,每个命令占一行
在执行make的过程中,为防止由于同名而与真实文件产生混淆,提出了伪目标的概念。
比如 .PHONY:clean ,在执行make clean时就会直接进行clean的动作而不会对同名的clean文件产生影响。
gdb调试工具
调试命令有两个步骤:s1: gcc test.c -o test -g ; s2: gdb test 启动后进入gdb交互界面,可以输入gdb的命令开始调试。常用的命令有:
list(缩写 l):列出源码,使用一次最多可以列出10行源码;
break(缩写b):设置断点。可使用info b查看断点信息,使用delete [number]删除断点;
run(缩写r):运行程序;continue(缩写c):继续运行;
next:向下执行一行源码,而不会进入到被调用函数;
step:向下执行一个步骤,会进入到被调用函数;
print(缩写p):可以打印测试过程中变量的值;
shell命令解析器
可以将用户输入的指令直接转换为机器可以运行的程序,而不需要人为编译。
需要注意的是,编写shell脚本的格式是固定的,开头为:#!/bin/bash;创建的文件后缀为.sh。
所有的变量都有字符串组成,不需要对变量进行声明,如 a = "hello world!",输出使用 echo ${a} ,括号可以省略。
shell脚本中有默认变量。如$# $* $0 $1 $2 分别表示传入脚本的命令行参数个数;所有命令行的参数值;命令本身(shell文件名);第一个命令行参数;第二个命令行参数。