linux c 编程

来源:互联网 发布:成都女司机 知乎 编辑:程序博客网 时间:2024/06/09 17:25

在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,研究一下。