Dump分析:调试方法与实践,空指针访问

Dump分析:调试方法与实践,空指针访问

bingliaolong Windows 9个月前 11 0

高效调试 Dump 的通用步骤与方法 准备工作 确保符号文件(.pdb)可用 符号文件必须与崩溃时的程序版本完全一致(编译时间、代码、优化选项一致) 收集必要文件: MiniDump 文件(.dmp) 崩溃时的可执行文件(.exe)及依赖的库(.dll) 源代码(与编译版本一致)...

Protobuf记述与使用

Protobuf记述与使用 5

bingliaolong C++ 3年前 9 0

理解 protobuf允许不同编程语言的程序员 以自己熟悉的方式在.proto文件里定义消息结构 然后protobuf的引擎把这个.proto文件里描述的消息结构进行解析,最后生成对应语言的代码,这些代码里描述了之前定义的消息结构 然后在项目中,需要用到这些消息结构的模块,只需引...

C++标准模板库编程实战_智能指针

C++标准模板库编程实战_智能指针

bingliaolong C++ 3年前 10 0

模板 模板是一组函数或类的参数实现。 编译器能够在需要使用函数或类模板时,用模板生成一个具体的函数或者类的定义。 也可以定义参数化类型的模板,因此模板并不是可执行代码,而是用于生成代码的蓝图或配方 因此一个从来没有被使用过的模板,它会被编译器忽略,不会生成可执行代码。 也就是说,...

C++并发编程 _ 共享数据

C++并发编程 _ 共享数据

bingliaolong C++ 5年前 7 0

概述 如果我们在线程间共享数据,我们需要设置规则,哪个线程可以访问数据的哪一位,什么时间以及如何将更改传达给关心数据的其他线程。 关键点 问题 从整体上来看,所以线程之间共享数据的问题,都是修改数据导致的。如果所有的共享数据都只读的,就没有问题,因为一个线程所读取的数据不受另一个...

C++17_第二篇

C++17_第二篇

bingliaolong C++ 5年前 11 0

静态断言 相关介绍: 预处理宏assert()在标准库头文件cassert中定义。 它可以在程序中测试逻辑表达式。 只要条件(表达式)是false,assert()宏就会调用std::abort(),终止程序。 另外assert()会在标准错误流cerr中显示结果。 静态断言 静...

深入理解C++11:C++11新特性解析与应用 二

深入理解C++11:C++11新特性解析与应用 二 2

bingliaolong C++ 3年前 6 0

常用特殊 静态类型动态类型 主要区别在于对类型进行检查的时间点。 对于所谓的静态类型,类型检查主要发生在编译阶段。 对于动态类型,类型检查主要发生在运行阶段(和类型推导相关)。 auto auto声明变量的类型必须由编译器在编译时期推导而得。 auto声明的变量必须被初始化,以使...

C++_友元、联合体、内联、static、指针、深浅拷贝

C++_友元、联合体、内联、static、指针、深浅拷贝

bingliaolong C++ 1年前 4 0

友元类 适用情况 紧密协作: 当两个类需要紧密协作,且需要共享内部实现细节时 例如,操作类需要访问数据类的内部数据来实现复杂的功能 封装复杂操作: 当某些复杂操作不能或不应成为数据类的成员函数时 通过友元类可以将这些操作封装在独立的类中,从而简化数据类的设计 提高性能: 在某些情...

STL_priority_queue

STL_priority_queue

bingliaolong C++ 5年前 4 0

概述 顾名思义,priority_queue是一个拥有权值观念的queue,它允许加入新元素,移除旧元素、审视元素值等功能 priority_queue带有权值观念,其内的元素并非是依照被推入的次序排列,而是自动依照元素的权值排列。权值最高者,排在前面。 实现 缺省情况下prio...

C++并发编程 _管理线程

C++并发编程 _管理线程

bingliaolong C++ 5年前 9 0

介绍 每个C++进程都拥有至少一个线程,它是由C++在运行时启动的。该线程运行着main()函数。 我们自己的程序可以继续启动具有其他函数作为入口的线程。然后,这些线程连同初始线程一起,并发运行。 正如程序会在main()函数返回时退出那样,当指定的入口函数返回时,该线程就会退出...

扫一扫二维码分享