Vim是Linux上的主要编辑软件,Vim有三种工作模式:命令模式、插入模式、末行模式。
要掌握基本的三种模式的转换:
插入模式转到命令模式:按 Esc 键
命令模式转到插入模式:按 i 建
命令模式转到末行模式:按:键
末行模式转到命令模式:按 Esc 键
调试器gdb可以在程序中设置断点、查看变量值、一步步的地跟踪程序的执行过程,利用调试器的这些功能可以方便的找出程序中存在的非语法错误。
gdb调试的对象是可执行文件,而不是程序的源代码,如下步骤:
gdb 可执行文件名
(gdb) l //查看相对应程序的源码
(gdb) b 6 //设置断点,程序并没有执行到第6行,而是第5行。
(gdb) info b //查看断点的设置情况
(gdb) r //运行代码至断点处
(gdb) p n //查看断点处的相关变量值
(gdb) n //键入一次n运行一条语句
(gdb) c //程序继续运行至断点处
(gdb) q //退出gdb
Makefile:
Makefile是用来告诉make如何编译和连接一个程序,是make读入的唯一配置文件,在一个Makefile中通常包含以下内容:
需要由make工具创建的目标体,可以认为是目标文件、可执行文件。
要创建的目标体所以来的文件,即为依赖文件。
创建每个目标体时需要运行的命令。
它的格式一般为:
目标文件:依赖文件
命令
注意:在Makefile中的每一个命令前必须要按Tab键
对于一般的Makefile编写方式在这里就不作累述,一下的是一个改良版的Makefile:
OBJS=main.o insert.o command.o kbd.o display.o utils.o files.o search.oedit=$(objects) gcc -o edit $(objects)main.o=main.c defs.h gcc -o main.o -c main.cinsert.o=insert.c defs.h buffer.h gcc -o insert.o -c insert.ccommand.o=command.c defs.h command.h gcc -o command.o -c command.ckbd.o=kbd.c defs.h command.h gcc -o kbd.o -c kbd.cdisplay.o=display.c defs.h buffer.h gcc -o display.o -c display.cutils.o=utils.c defs.h gcc -o utils.o -c utils.cfiles.o=files.c defs.h command.h buffer.h gcc -o files.o -c files.cclean: rm edit $(OBJS)
下面这个又是个改良版的Makefile,比上面那个更为方便:
OBJS=main.o insert.o command.o kbd.o display.o utils.o files.o \search.oCC=gccCFLAGS=-Wall -o -gedit=$(objects) $(CC) $^ -o $@ main.o=main.c defs.h $(CC) $(FLAGS) -c $< -o $@insert.o=insert.c defs.h buffer.h $(CC) $(FLAGS) -c $< -o $@command.o=command.c defs.h command.h $(CC) $(FLAGS) -c $< -o $@kbd.o=kbd.c defs.h command.h $(CC) $(FLAGS) -c $< -o $@display.o=display.c defs.h buffer.h $(CC) $(FLAGS) -c $< -o $@utils.o=utils.c defs.h $(CC) $(FLAGS) -c $< -o $@files.o=files.c defs.h command.h buffer.h $(CC) $(FLAGS) -c $< -o $@clean: rm edit $(OBJS)
$^ :所有不重复的依赖文件,并以空格分开
$< :第一个依赖文件的名称
$@ :目标文件的完整名称
¥