linux学习笔记

简介: linux学习笔记

linux学习笔记

一、静态库与动态库的制作

1.1 静态库

1.1.1 静态库编译时与主程序一起编译

1.1.2 g++ -c -o xxx.a xxx.cpp就可以制作一个静态库

1.1.3 g++ -o xxx xxx.cpp xxx.a(或者用-L指定库目录 -l指定库名称)可以把静态库和主程序编译为一个可执行文件

1.2 动态库

1.2.1 程序运行时候才会载入

1.2.2 g++ -fPIC -shared -o xxx.so xxx.cpp可以制作动态库

1.2.3 使用方法与静态库相同,如果编译时候存在同名的静态库和动态库,优先使用动态库

1.2.4 后缀为so

1.2.5 linux下使用动态库需要通过LD_LIBRARY_PATH环境变量来指定动态库的位置

二、make与makefile

2.1 一个规则

目标文件:依赖文件

  执行语句

2.2 两个函数

wildcard目录下全文件类型名称匹配

patsubst 目录下全类型文件后缀替换

2.3 伪目标

.PHONY 不检查依赖项,直接执行命令

2.4 几个变量

$开头的几个变量

三、gdb的使用

3.1

gdb xxx开始调试程序

gdb xxx -p 进程号 调试正在运行中的程序

3.2

b设置断点

set args设置运行参数 参数如果包含特殊字符,可以将参数用双引号括起来

r 运行程序

s 步入程序 如果没有源码,就无法步入只会进入下一行

n 步过程序

p 打印变量或者表达式的结果

c 继续运行到下一个断点

q 退出gdb

set var xx= 123 设置变量的值

list 显示源代码

info b查看断点

3.3

ulimit -a 查看系统参数 系统参数缺省不会生成core文件

ulimit -c unlimit 把core文件大小限制设置无限制

运行程序,程序崩溃,形成core文件

gdb 程序名 core文件名 利用core文件调试程序

bt 查看中断时候函数调用栈

3.4

调试多进程时,缺省调试的默认为父进程,

进行fork前使用set follow-fork-mode child可以切换到调试子进程

使用set detach-on-fork [on/off]可以设置调试时候其他进程是否正常进行

info inferiors 查看调试的进程

inferiors 进程id 切换当前调试进程

3.5

调试多线程时

info threads 查看线程信息

thread 线程id 切换调试线程

set scheduler-locking [on/off]设置调试时候其他线程是否正常进行

thread apply all/线程id gdb命令 指定所有或者某条线程执行命令

相关文章
|
11天前
|
缓存 网络协议 Linux
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
68 0
|
11天前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
65 0
|
11天前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
47 0
|
11天前
|
缓存 Unix Linux
Linux学习笔记
Linux学习笔记
257 0
|
11天前
|
缓存 监控 Linux
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
|
11天前
|
安全 Linux 数据安全/隐私保护
Linux 学习笔记十八:SELinux 相关概念
Linux 学习笔记十八:SELinux 相关概念
|
11天前
|
Linux 开发工具 索引
Linux 学习笔记索引
Linux 学习笔记索引
|
11天前
|
小程序 Linux 数据安全/隐私保护
Linux学习笔记十六:日志管理
Linux学习笔记十六:日志管理
|
11天前
|
存储 Linux 数据库
Linux学习笔记十三: 数据备份与恢复
Linux学习笔记十三: 数据备份与恢复
|
11天前
|
监控 Linux
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理

热门文章

最新文章