随笔分类 -  C/C++

摘要:概述 c++的switch语句在汇编层面有着独特的表现形式以及优化方案,这篇文章就带大家一起探索其中的奥秘。本文的代码均使用vs2022中编写并编译。 温馨提示,本文代码较多,建议使用PC进行阅读。建议大家跟着动手操作一遍,更有效果。 我们把switch语句分成了三种情况 case情况小于4 线性s 阅读全文
posted @ 2025-06-11 22:38 XueZhou 阅读(80) 评论(0) 推荐(0)
摘要:只有一个if的情况 首先我们通过观察debug选项下的汇编代码,对if语句有一个大致的了解。程序的源代码非常简单,如下: #include <stdio.h> int main(int argc, char* argv[]) { if (argc == 0) printf("argc == 0"); 阅读全文
posted @ 2025-06-08 10:45 XueZhou 阅读(45) 评论(0) 推荐(0)
摘要:概述 操作符重载是c++的重要特性之一,它允许我们以简单的方式操作对象,隐藏了内部机制。 操作符重载的基本形式为:[可选项] 返回值 operator运算符(可选参数列表) { 函数体 } 下面我们通过一个简单的例子来仔细讨论每一个部分。 一个简单的例子 我们先定义一个时间类,利用该类来说明操作符重 阅读全文
posted @ 2025-06-08 00:42 XueZhou 阅读(63) 评论(0) 推荐(0)
摘要:算法简介 插入排序对于需要排序少量数据来说,是一个有效率的算法。其时间复杂度为cn^2,其中n为需要排序的数据,c是一个与n无关的常数因子。 算法原理 就像打牌时摸牌的过程一样,我们从牌堆顶(未排序的数组)中取出一张牌(一个元素),然后把它与手中的牌(已经排序好的数组)逐个比较,把它插入到正确的位置 阅读全文
posted @ 2025-06-03 21:30 XueZhou 阅读(24) 评论(0) 推荐(0)
摘要:本文讨论了关系与逻辑运算的反汇编形式,希望对学逆向的读者有所帮助 阅读全文
posted @ 2025-05-30 17:06 XueZhou 阅读(35) 评论(0) 推荐(0)
摘要:本文讨论了在main函数之前调用的函数,有助于读者理解程序是怎样运行起来的 阅读全文
posted @ 2025-05-11 00:21 XueZhou 阅读(114) 评论(0) 推荐(0)