2022_02_18
static 修饰全局变量 加不加static都是静态存储方式 加了static,只初始化一次,防止在其他源文件中被引用 修饰局部变量 变成静态存储方式,变量的生命周期变长,作用范围不变 只初始化一次 修饰函数 加了static之后,函数在内存中只有一份 没加的话,普通函数在每个...
static 修饰全局变量 加不加static都是静态存储方式 加了static,只初始化一次,防止在其他源文件中被引用 修饰局部变量 变成静态存储方式,变量的生命周期变长,作用范围不变 只初始化一次 修饰函数 加了static之后,函数在内存中只有一份 没加的话,普通函数在每个...
内存布局 内核空间 通常在最高的内存地址,用户态程序无法访问 操作系统保留的一部分内存,用于存储内核代码、设备驱动程序等 这部分内存一般不在普通应用程序的内存布局中明确显示,但确实存在并且用户态程序无法直接访问 栈区 由编译器自动分配释放,存放函数的参数值,局部变量等 由高地址向...
两个栈实现队列 链表反转 快速排序 排序 _ 快速排序 TCP三次握手 2020_11_05 野指针 指针指向的位置是不可知的(随机的、不正确的、没有明确限制的) 野指针很可能触发运行时段错误( Sgmentation fault) 第一种是指向不可访问(操作系统不允许访问的敏感...
Windebug WinDbg相关 生产者消费者 关于虚函数表数量 2020_11_19_02
GetMessage和PeekMessage PeekMessage在处理获得消息时候和GetMessage一样,关键不同的是PeekMessage在没有消息处理的时候还会继续保持循环激活状态,并且继续占用资源。 GetMessage每次都会等待消息,直到取到消息才会返回。Pee...
模态对和非模态对话框 模态对话框 当它弹出后,本应用其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作并退出后,其他窗口才能与用户交互。 非模态对话框 它弹出后,本程序其他窗口仍能响应用户输入。 消息循环机制 Windows是事件驱动的。 Windows有两...
shared_ptr shared_ptr采用引用计数的方式管理所指向的对象。当有一个新的shared_ptr指向同一个对象时(复制shared_ptr等),引用计数加1。当shared_ptr离开作用域时,引用计数减1。当引用计数为0时,释放所管理的内存。 可以使用make_s...
Linux下/proc Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可...
语言类 volatile 易变性 所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存中读取。 “不可优化”特性 volatile告诉编译器,不要对我这个变量进行各种激进的优化,甚至将变量直接消除,...
多态 编译时多态 通过函数重载实现 运行时多态 多态性可以概括为“一个接口,多个方法”,程序运行时才决定调用哪个具象化函数 多态通过虚函数实现,虚函数允许子类重新定义成员函数,而子类重写定义父类函数的做法叫做覆盖,override vector底层 vector底层实现是封装了顺...
搜索当前标签