- 博客(6)
- 问答 (3)
- 收藏
- 关注
原创 Linux下动态链接库相关杂记(讨论稿)
C++模板型参之模板型参数有的时候,你可能需要传入模板的类型参数是一个模板,比如你想定义一个类,里面有一个变量,你希望这个变量既可以是list又可以是vector,那么你可以用如下的方式来定义这个类(不过这个有现实意义?):...
2021-05-01 19:35:55 236
原创 typeof
#include <stdio.h> int main(void) { double a=0; typeof(a=3.0) b=0.0; int *s=b; a=0; if(a=1) { printf("Go to hel...
2018-03-08 23:03:59 226
原创 _set_gate宏
#define _set_gate(gate_addr,type,dpl,addr) \789 do { \790 int __d0, __d1; \791 __asm__ __volatile__ ("movw %%dx,%%ax\n\t" \792 "movw %4,%%dx\n\t" \793 "movl %%eax,%0\n\t" \794 ...
2018-03-06 15:41:16 881
原创 Linux内存管理重要的数据结构与函数(二)
当Linux需要将内存的一些页面换出到文件上时(swap),内存与交换设备(比如硬盘)就发生了关联。另一处关联是mmap系统调用将一个文件映射到内存中,这样可以加快文件的访问。对于swap,每一个swap设备或者文件被内核中一个swap_info_struct结构体所描述。 这个结构体定义在include/linux/swap.h头文件中(kernel 2.4)。 在sw...
2018-02-19 11:01:33 496
原创 内核内存管理几个重要的结构体与函数(一)
数据结构 Linux内存主要采取页式管理。所以需要表示出页表的数据结构: typedef struct { unsigned long pte_low; } pte_t;pte_low里面存储页面的物理地址。因为页表是mmu用来寻址物理内存中页面的,如果存储的是线性地址的话就毫无意义了。但是内核用来寻址的时候只要是在开启了分页的情况下都应该使用虚拟地址。因为页式地址转...
2018-02-10 21:30:03 686
原创 汇编语言寻址方式
很多的汇编指令需要寻址,处理器如何去寻址?有如下几种寻址方法。一、立即寻址指令的地址部分存放着数据,也就是包含着常数(寄存器和存储器包含着的叫做变数)。所以在编译领域内常数有时候也叫做立即数。这种寻址方式的好处很明显:可以减少内存的访问次数。但是缺点也很明显:数据长度受限于地址的长度。二、直接寻址指令的地址部分直接包含了目标操作数的存储器地址,为了取得操作数必须访问一次存储器。这方
2015-12-21 12:02:55 1141
空空如也
C++函数参数列表中使用临时对象返回的指针会崩溃吗?
2022-04-05
crontab执行bash脚本tcpdump异常
2021-04-01
Fedora27网络服务network.service启动失败
2018-02-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人