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命令 指定所有或者某条线程执行命令

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
7月前
|
网络协议 Java Linux
Linux学习笔记
Linux学习笔记
112 0
|
3月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
2月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
47 3
|
3月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
4月前
|
存储 运维 Shell
运维.Linux.bash学习笔记.数组及其使用
运维.Linux.bash学习笔记.数组及其使用
43 0
|
5月前
|
Shell Linux
RSIC-V“一芯”学习笔记(二)——Linux入门教程
RSIC-V“一芯”学习笔记(二)——Linux入门教程
|
6月前
|
数据可视化 Shell Linux
技术笔记:Linux学习笔记1
技术笔记:Linux学习笔记1
37 0
|
7月前
|
Linux 开发工具 索引
Linux 学习笔记索引
Linux 学习笔记索引
|
7月前
|
缓存 监控 Linux
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
|
7月前
|
监控 Linux
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理