Linux 编程基础
1. GCC编译器
https://blog.csdn.net/guo1988kui/article/details/81076252
2. gdb调试器 GUN priject debugger
命令 | 含义缩写 | 命令说明 |
---|---|---|
quit / Ctrl + D | q | 退出 |
break | b | 断点 |
info | i | 描述程序的状态 |
run | r | 开始运行程序 |
disp | d | 跟踪变量 每次都停下显示它的值 |
next | n | 执行下一条语句 |
p | 打印内部变量的值 | |
continue | c | 继续运行程序 直到下一个断点 |
set string = “abc4” | 设置变量的值 | |
watch | 监视变量值的变化 | |
bracktrace | bt | 查看函数调用信息 |
- list命令 : 显示多行源代码
list n :显示以第n行为中心的10行代码
list functionname : 显示以名为functionname的函数为中心的10行源代码
list - :显示刚才打印过的源代码之前的源代码 - watch 命令: 设置观察点
watch j:
给出 变量 j 的变化情况 Old value & New value - 调试段错误 core dump
段错误,即对内存的非法访问。GDB定位段错误的两种方法
(1) gdb程序遇到段错误自动停下来
backtrace
(2) 发生段错误时产生内存转储core dump文件,gdb调式该文件
3. Make工具
- 简介https://blog.csdn.net/cai0538/article/details/7318281
- Makefile 编写规则
目标: 依赖文件列表
<TAB> 执行命令
4. shell 编程
Bash 是 Linux 操作系统默认的shell程序
利用 vi 编辑器编辑shell程序,保存名称为 run_me.sh 文件
#!bin/bash
message = "hello world"
echo $message
exit
输入 ./run_me.sh
-
autoconf: 用于生成一个可以自动配置资源的软件源码包 需要用到m4,便于生成脚本
作用 : 用于可以生成自已自动配置的软件源码包,用于可以适应多种UNIX类系统的Shell脚本工具 -
autoheader: 为configure产生模板头文件
作用: autoheader 命令生成config.in,前提是aclocal.m4 configure.in必须生成,它负责产生configure.h.in -
autoreconf: 更新已经生成的配置文件
-
autoscan: 产生初步的configure.in文件
创建一个configure.scan文件,这个文件是configure.in的前身 -
autoupdate:更新configure.in文件
-
automake: 自动生成Makefile.in的工具
从Makefile.am文件自动生成Makefile.in -
aclocal: 生成aclocal.m4文件
aclocal 通过扫描configure.ac 或者 configure.in 文件生成 aclocal.m4文件 -
configure: 生成Makefile文件
http://blog.sina.com.cn/s/blog_530e99a401013tqj.html
e.g.
1. 在 tmp 目录下写hello.c程序
2. $ autoscan
生成 configure.scan autoscan.log
编辑修改为 configure.in
3. $ aclocal ; $ autoconf
生成aclocal.m4 文件夹autom4te.cache configure(可执行文件)
4. 手工编辑 makefile.am 文件
5. $ automake --add-missing
产生文件,包括重要的Makefile.in文件
6. $ ./configure 生成Makefile
7. $ make
$ ./hello