标签:CPP
在笔者的上一篇文章《驱动开发:内核特征码扫描PE代码段》中LyShark带大家通过封装好的LySharkToolsUtilKernelBase函数实现了动态获取内核模块基址,并通过ntimage.h头文件中提供的系列函数解析了指定内核模块的PE节表参数,本章将继续延申这个话题,实现对PE文件导出表
HTTPS是确保传输安全最主要的手段,并且已经成为了互联网默认的传输协议。不知道读者朋友们是否注意到当我们利用浏览器(比如Chrome)浏览某个公共站点的时候,如果我们输入的是一个HTTP地址,在大部分情况下浏览器会自动重定向到对应HTTPS地址。这一特性源于浏览器和服务端针对HSTS(HTTP
在笔者上一篇文章《驱动开发:内核解析PE结构导出表》介绍了如何解析内存导出表结构,本章将继续延申实现解析PE结构的PE头,PE节表等数据,总体而言内核中解析PE结构与应用层没什么不同,在上一篇文章中LyShark封装实现了KernelMapFile()内存映射函数,在之后的章节中这个函数会被多次用
C++学习目录 第一章 - C++介绍 第二章 - 数据类型与运算 第三章 - 选择与循环结构 第四章 - 函数 第五章 - 数组 第六章 - 指针与引用 第七章 - 数据结构 第八章 - 面向对象 第九章 - 类与对象的使用 第十章 - 面向对象三大特点 第十一章 - 输入输出流 第十二章
推荐一个强大的电子表单控件,使用简单且功能强大。 项目简介 这是一个开源的表格控制组件,支持Winform、WPF和Android平台,可以方便的加载、修改和导出Excel文件,支持数据格式、大纲、公式计算、图表、脚本执行等、还支持触摸滑动,可以方便地操作表格。 总的来说是一个可以快速构建、具有高
某日小二参加XXX科技公司的C++工程师开发岗位5面: 面试官:struct和class有什么区别? 小二:在C++中,struct和class的唯一区别是默认的访问控制。struct默认的成员是public的,而class的默认成员是private的。 面试官:struct、class和uni
模板传送 FHQ-Treap顾名思义就是范浩强大佬设计的一种二叉平衡树 下面我们来讲一下它的原理和代码 结构体 对于一个节点,我们需要记录的是 对应的值 子树节点数 左右孩子编号 对应的随机值 struct str{ int val,size,l,r,key; }fhq[100005]; 看到
在笔者上一篇文章《驱动开发:内核实现SSDT挂钩与摘钩》中介绍了如何对SSDT函数进行Hook挂钩与摘钩的,本章将继续实现一个新功能,如何检测SSDT函数是否挂钩,要实现检测挂钩状态有两种方式,第一种方式则是类似于《驱动开发:摘除InlineHook内核钩子》文章中所演示的通过读取函数的前16个字
某日二师兄参加XXX科技公司的C++工程师开发岗位6面: 面试官: 如何在堆上申请一块内存? 二师兄:常用的方法有malloc,new等。 面试官:两者有什么区别? 二师兄:malloc是向操作系统申请一块内存,这块内存没有经过初始化,通常需要使用memset手动初始化。而new一般伴随三个动作
说明 使用 QCustomPlot 绘图库辅助开发时整理的学习笔记。同系列文章目录可见 《绘图库 QCustomPlot 学习笔记》目录。本篇介绍 QCustomPlot 的下载。 目录说明1. 下载链接2. QCustomPlot.tar.gz 压缩包概览3. QCustomPlot-share
某日二师兄参加XXX科技公司的C++工程师开发岗位第7面: 面试官:C++中,static和const的关键字有哪些用法? 二师兄:satic关键字主要用在以下三个方面:1.用在全局作用域,修饰的变量或者函数为静态的,限制在本文件内使用。2.方法内修饰修饰静态局部变量,在第一次访问的时候初始化。
软件安装 略 最基本的 vscode 插件 只需要安装如下两个插件即可 c/c++ 扩展是为了最基本的代码提示和调试支持 cmake language support 是为了提示 CMakeLists.txt 脚本 代码 main.cpp #include <stdio.h> i
在 Visual Studio 中,. 和 .. 是表示相对路径的两个特殊符号。 . 表示当前目录,例如:.file.txt 表示当前目录下的文件 "file.txt"。 .. 表示上一级目录,例如:..file.txt 表示上一级目录(即父目录)下的文件 "file.txt"。 . 和 .. 在
本篇为随笔《绘图库 QCustomPlot 学习笔记》的目录 A 篇 QCustomPlot 背景 A.1 【QCP】简介 A.2 【QCP】版本迭代日志 A.3 【QCP】下载 B 篇 QCustomPlot 性能提升 B.1 【QCP】性能提升之修改源码(版本 V2.x.x)
//个人学习笔记用 题目: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 参考题解--代码随想录 暴力解法: class Solution { public:
某日二师兄参加XXX科技公司的C++工程师开发岗位第8面: 面试官:C++中,函数的参数应该传值还是传引用? 二师兄:要看参数的用途。如果是出参,必须传引用。如果是入参,主要考虑参数类型的大小,来决定传值还是传引用。 面试官:为什么不使用指针? 二师兄:传指针也称之为传引用(pass by re
一、C++ 类 & 对象 C++ 类定义 定义一个类需要使用关键字 class,然后指定类的名称,并类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数。 定义一个类,本质上是定义一个数据类型的蓝图,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。 关键字 publi