随笔分类 -  C++

摘要:一:背景 1. 讲故事 只要是程序总会出现各种莫名其妙的问题,比如:非托管内存泄露,程序崩溃,在 Windows 平台上一般用微软自家的官方工具 App Verifier 就可以洞察,那问题出在 Linux 上怎么办呢?由于 Linux 崇尚自由,需要在各种牛鬼蛇神写的非官方开源软件中寻找一个比较靠 阅读全文
posted @ 2023-05-05 15:35 一线码农 阅读(1795) 评论(1) 推荐(15) 编辑
摘要:一:背景 1. 讲故事 用惯了宇宙第一的 Visual Studio 再用其他的开发工具还是有一点不习惯,不习惯在于想用的命令或者面板找不到,总的来说还是各有千秋吧,今天我们来聊一下几个在调试中比较实用的命令: 查看内存 硬件断点 虚拟内存布局 二:命令解读 1. 查看内存 相信大家都知道 Visu 阅读全文
posted @ 2023-05-04 15:30 一线码农 阅读(586) 评论(0) 推荐(4) 编辑
摘要:一:背景 1. 讲故事 今天是五一的最后一天,想着长期都在 Windows 平台上做开发,准备今天换到 Ubuntu 系统上体验下,主要是想学习下 AT&T 风格的汇编,这里 Visual Studio 肯定是装不了了,还得上 VSCode,刚好前几天买了一个小工控机,这里简单记录下 零到一 的过程 阅读全文
posted @ 2023-05-03 11:42 一线码农 阅读(1510) 评论(0) 推荐(4) 编辑
摘要:一:背景 在 CLR 源码中有很多的 extern 和 extern "C" 这样的关键词,比如下面这些代码: extern size_t gc_global_mechanisms[MAX_GLOBAL_GC_MECHANISMS_COUNT]; extern DWORD g_dwHandles; 阅读全文
posted @ 2022-09-02 10:46 一线码农 阅读(898) 评论(0) 推荐(3) 编辑
摘要:一:背景 相信大家在分析 dump 时,经常会看到 WKS 和 SRV 这样的字眼,如下代码所示: 00007ffa`778a07b8 coreclr!WKS::gc_heap::segment_standby_list = 0x00000000`00000000 00007ffa`778a3870 阅读全文
posted @ 2022-09-01 12:01 一线码农 阅读(627) 评论(0) 推荐(4) 编辑
摘要:一: 背景 最近在看 C++ 的右值引用和移动构造函数,感觉这东西一时半会还挺难理解的,可能是没踩过这方面的坑,所以没有那么大的深有体会,不管怎么说,这一篇我试着聊一下。 二: 右值引用 1. 它到底解决了什么问题? 在其他编程语言中,很少听到 右值引用 这个词,我个人感觉还是 C++ 这个 值类型 阅读全文
posted @ 2022-07-25 18:02 一线码农 阅读(765) 评论(1) 推荐(4) 编辑
摘要:一:背景 上一篇我们聊到了C++ 的 auto_ptr ,有朋友说已经在 C++ 17 中被弃用了,感谢朋友提醒,今天我们来聊一下 C++ 11 中引入的几个智能指针。 unique_ptr shared_ptr weak_ptr 看看它们都怎么玩。 二:三大智能指针详解 1. unique_ptr 阅读全文
posted @ 2022-07-24 11:01 一线码农 阅读(692) 评论(0) 推荐(1) 编辑
摘要:一:背景 我们知道 C++ 是手工管理内存的分配和释放,对应的操作符就是 new/delete 和 new[] / delete[], 这给了程序员极大的自由度也给了我们极高的门槛,弄不好就得内存泄露,比如下面的代码: void test() { int* i = new int(10); *i = 阅读全文
posted @ 2022-07-18 09:06 一线码农 阅读(794) 评论(0) 推荐(2) 编辑
摘要:一:背景 在玩 C 的时候,经常会用 void* 来指向一段内存地址开端,然后再将其强转成尺度更小的 char* 或 int* 来丈量一段内存,参考如下代码: int main() { void* ptr = malloc(sizeof(int) * 10); int* int_ptr = (int 阅读全文
posted @ 2022-07-15 10:46 一线码农 阅读(971) 评论(0) 推荐(4) 编辑
摘要:一:背景 在 C# 中要说类默认给我们定义的特殊成员函数,莫过于 构造函数,但在 C++ 中这样的特殊函数高达 6 种,有必要整合一下聊一聊。 二:特殊成员函数 1. 默认构造函数 和 C# 一样,很多书中都说,如果用户没有定义 构造函数,那么编译器会给我们定义一个,参考下面的例子: class P 阅读全文
posted @ 2022-07-12 09:19 一线码农 阅读(827) 评论(0) 推荐(0) 编辑
摘要:一:背景 最近发现 C++ 中的类型初始化操作,没有 {} 运算符搞不定的,蛮有意思,今天我们就来逐一列一下各自的用法以及汇编展现,本来想分为 值类型 和 引用类型 两大块,但发现在 C++ 中没这种说法,默认都是 值类型 😂😂😂 二:各种玩法一览 1. int 上的初始化 首先看一下代码: 阅读全文
posted @ 2022-07-11 09:09 一线码农 阅读(2635) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示