- Linux 16
- 上位机 10
- 其他 10
- MATLAB 7
- 平台无关 7
- wxWidgets 6
- 数据结构与算法 6
- 网络通信 6
- C/C++ 4
- WIN32API 3
- Python 2
- opencv 2
- docker 1
- github 1
- web 1
- 嵌入式 1
- 操作系统 1
Linux
WSL2简单探索
WSL2简单探索
release版本core推导与相应工具学习-incomplete
release版本core推导与相应工具学习_incomplete
linux性能调优
linux性能调优
linux常用命令参数整理
linux常用命令参数整理
vim键位图翻译
vim键位图翻译
gdb打印errno显示cant find thread-local storage xxxx
gdb打印errno显示cant find thread-local storage xxxx
gdb使用
gdb使用
linux基础
linux基础
更改终端警告音音效
更改终端警告音音效
linux命令集合
linux命令集合
重定向与管道符
重定向与管道符
bash编程学习
bash编程学习
VIM基本配置
VIM基本配置
Ubuntu18.04的一些问题
Ubuntu18.04的一些问题
linux快捷键
linux快捷键
ubuntu常用目录解读
ubuntu常用目录解读
上位机
wxwidgets编写多线程程序–wxThread
wxwidgets编写多线程程序–wxThread
wxwidgets自定义事件+调试
wxwidgets自定义事件+调试
图形界面与具体实现的分离(面向过程–面向对象)
图形界面与具体实现的分离(面向过程->面向对象)
普通接收函数的改进(时间片–线程实现)
普通接收函数的改进(时间片->线程实现)
OpenCv+wxwidgets尝试
OpenCv+wxwidgets尝试
codeblocks下wxWidgets编译与配置
codeblocks下wxWidgets编译与配置
codeblocks下OpenCv搭建
codeblocks下OpenCv搭建
用OpenCv转换原始图像数据到wximage
用OpenCv转换原始图像数据到wximage
wxwidgets事件处理
wxwidgets事件处理
wxwidgets绘图
wxwidgets绘图
其他
windows开发环境记录
windows开发环境记录
小鹤进阶-小鹤音形
小鹤进阶-小鹤音形
极限竞速:地平线与现实手动挡汽车研究
极限竞速:地平线与现实手动挡汽车研究
普通话和英语发音-incomplete
普通话和英语发音_incomplete
小鹤双拼尝试
小鹤双拼尝试
关于费曼学习法的思考-incomplete
关于费曼学习法的思考_incomplete
逻辑谬误收集,以后辩论用-incomplete
逻辑谬误收集,以后辩论用_incomplete
问题解决方法论
问题解决方法论
windows快捷键
windows快捷键
租房整理
租房整理
MATLAB
MATLAB(七) 计算机视觉–特征检测与提取
MATLAB(七) 计算机视觉–特征检测与提取
MATLAB(四) 图像处理–对象分析与属性
MATLAB(四) 图像处理–对象分析与属性
MATLAB(六) 图像处理–几何变换
MATLAB(六) 图像处理–几何变换
MATLAB(五) 图像处理–图像分割
MATLAB(五) 图像处理–图像分割
MATLAB(二) 图像处理–图像增强
MATLAB(二) 图像处理–图像增强
MATLAB(三) 图像处理–形态学
MATLAB(三) 图像处理–形态学
MATLAB(一) 基础知识
MATLAB(一) 基础知识
平台无关
编程常用资料收集
编程常用资料收集
Regex Golf题目分析-incomplete
Regex Golf题目分析_incomplete
英文编程题相关单词收集
英文编程题相关单词收集
编程语言小记-incomplete
编程语言小记_incomplete
内存对齐与字节序
内存对齐与字节序
深入理解计算机系统笔记–备忘
深入理解计算机系统笔记–备忘
- 多核cpu:将多个cpu(称为“核”)集成到一个集成电路芯片上、1. 超线程:允许一个cpu执行多个控制流的技术,cpu的某些硬件有多个备份,比如程序计数器(pc)和寄存器,而其他的硬件可能只有一份,比如浮点运算单元。超线程技术可以使cpu(核)在单个周期的基础上决定要执行哪个线程,而传统cpu可能需要20 000个时钟周期完成线程的切换。(从这里来看,一个核同一时刻还是只能执行一个控制流的,只不过快的多的线程切换速度可以将一个核模拟为两个核)1. 文件是对i/o设备的抽象,虚拟内存是对程序存储器的抽象,进程是对一个正在运行程序的抽象1. 跳转指令的编码最常用的是相对编码:将目标指令的地址与紧跟在跳转指令后面的那条指令之间的差作为编码;1. 一个模块中的两个c文件中可以定义两个同名的全局变量,但其中要有弱定义的。比如一个强定义,一个弱定义,或者多个弱定义。强定义:可以被外部文件调用的函数名,初始化了的全局变量;弱定义:比如未赋值的全局变量。 链接器处理多重定义符号的规则:1.不允许有多个同名的强符号2.若有一个强符号和多个弱符号,那么选择强符号3.如果是多个弱符号同名,任意选一个;注意:若这些同名符号不同类型,也是可以链接过的。。。。。1. 链接可执行于编译时,加载时,运行时。1. 链接:符号解析,重定位1. 编译时指定库的顺序:被依赖的要放在依赖它的的右边,若存在相互引用,可以重复出现,比如foo.c依赖libx.a,libx.a依赖liby.a,而liby.a又依赖libx.a那么,gcc foo.c libx.a liby.a libx.a1. 程序的运行时内存映像,代码段总是从0x400000开始,后面是数据段,运行时堆。用户栈最大合法用户地址空间位2的48次方。再往上的地址就是内核的代码和数据了。代码段与数据段之间有空隙(为了对齐要求),而栈,共享模块,堆由于安全性还会使用地址空间布局随机化,每次程序运行时,他们的地址都会改变。1. 处理目标文件的工具:
strings:列出一个目标文件中所有可打印的字符串
strip:从目标文件中删除符号表信息
nm:列出一个目标文件中的符号表中定义的符号
size:显示目标文件中节的名字和大小
readelf:显示一个目标文件的完整结构,包括elf头中编码的所有信息,包含size和nm的功能
objdump:能够显示一个目标文件中的所有信息,它最大的作用时反汇编.text段中的二进制指令1. 操作进程的工具
strace:打印一个进程及其子进程调用的每个系统调用的轨迹
strace -fp 可以跟踪所有线程的系统调用 进一步的,指定线程的tid可以监视特定线程的系统调用
pstack 打印栈信息