在linux下可以有很多编辑器用于编程,我更喜欢传统的vim,简洁而不失功能强大,符合linux 自由,实用,稳定,高效的精神。
通常的vim 没有语法高亮,需要自己下载vim-full
我用的ubuntu,所以笔记更多是出于这个美丽系统的角度。
sudo apt-get install vim-full
在/etc/vim/vimrc 中设置 sytanx on
gcc 一宽强大的编译器 支持多种语言,高效。
一个.c 文件编译要经过四个过程
1 预处理 将头文件加入到源文件中 生成 .i gcc -E hello.c -ohello.i
2 编译 生成汇编 gcc -S hello.i -o hello.s
3 汇编 生成二进制文件 gcc -c hello.s -o hello.o
4 链接 链接函数库 生成 可执行文件 gcc hello.o -o hello gcc 默认使用动态库
gcc 常用编译选项
-c -S -E, -o , -v ,
-I 在头文件搜索中加入当前文件夹,默认/usr/include <stdio> 在标准路径,"" 当前目录 不用该参数
-L 库文件搜索加入当前文件 ,
-static 静态连接库,
-library 连接名为library 的库文件 linux 必须以lib 命名开头 -l 可以省略lib三个字 如 libtets.so 可以 -ltest
出错报警
-ansi 标准c
-Wall gcc 提供的所有警报
-pedantic ansic 所有警报
gcc 优化
gcc 体系结构设置
gdb 调试器
gdb 和perl的编译器
首先要编译好原代码,
gcc -g hello.c -o hello 必须加入-g 否则不能调试
gdb hello 进入调试模式
常用指令 l , b , s , n ,p , x , c ,r
工作环境
set args 设置运行是参数
show args
path dir
show paths
pwd
shell
断点
b
info b 查看断点情况
tbreak 设置临时断点
delete 删除
disable
enable
b 23 if n==2 判断条件
查看
list
info line 查看gdb 内存中代码
display 检测
gdb 可以在运行时 改变变量值 够变态。
有点累了,明天研究Make.刚刚下了个嵌入式模拟器,skyeye,研究一下。