自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

八宝咸鱼

Codeing~

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 [C++实现&C#调用] 如何遍历DLL导出函数

接下来,函数使用PE文件格式的导出表来查找模块中的导出函数.具体来说,它首先通过模块句柄(HMODULE)获取PE文件的DOS头(IMAGE_DOS_HEADER)和NT头(IMAGE_NT_HEADERS),然后使用导出表数据目录中的地址(IMAGE_DIRECTORY_ENTRY_EXPORT)获取导出表结构(IMAGE_EXPORT_DIRECTORY).导出表结构包含有关导出函数的信息,例如函数数量、名称指针、地址表和序号表.然后,我们查找指定函数名称在字符串中的位置,并提取相关的信息。

2023-04-07 23:16:48 1561 2

原创 [C++调试技巧] MinHook 介绍|文档|例子

MinHook是一个基于微软Detours的一个可移植Hook库,它使用了内存污染和跳转技术来实现Hook.通过使用MinHook,你可以在不需要修改原来函数代码的情况下,运行时更改函数定义.这对于调试,测试,以及在其他程序中注入自己的代码都非常有用.使用MinHook来挂钩函数,即使这些函数是由编译器优化过的,MinHook也可以在不修改原来代码的情况下Hook.这使得MinHook特别适合用于对受保护函数进行Hook但是它也有一些限制。

2022-12-22 18:04:29 2599

原创 UE5 启动失败修复

通过[.uproject]打开会提示打开editor失败通过Epic打开会不断提示验证安装UE5 被设置为默认UAC权限,普通用户权限无法访问1.取消UE5的默认UAC权限2.以UAC权限运行Epic

2022-12-04 11:28:34 2688

原创 UE5 无法打开VisualStudio修复

修复虚幻引擎无法打开VisualStudio

2022-12-03 22:27:33 2265

原创 2022年Steam夏季促销解密活动快速解锁徽章

Steam:https://store.steampowered.com/选择找寻解密之后,steam自动跳转到新页面后,按F12进入开发模式在控制台中,复制以下代码.回车之后,会出现这样的字符串,X达到10或者满足你剩余徽章数量即可.返回活动界面,刷新一下即可看到自己的徽章数量达到满级....

2022-06-27 00:26:27 929

原创 Visual Studio 2022 安装并使用 Google Test

Visual Studio 2022 配置 Google Test

2022-06-25 00:45:41 3394 2

原创 Windows Terminal 美化(PowerShell&CMD)

给CMD与PowerShell化个妆.告别丑陋的默认界面.美化包括CMD!,包括CMD!包括CMD!

2022-06-22 00:01:03 3809 2

原创 [Windows]禁止应用开机自启动

并不需要下载第三方应用,只需要使用Windows自带的任务管理器即可1.打开任务管理器右键Windows徽标,选择任务管理器Windows10同样如此,或者右键任务栏空白区域任务管理器打开快捷键:Ctrl+Alt+.(小键盘区域的点) 或者 Ctrl+Alt+Delete2.选择左下角的详细信息3.在上方栏位选择启动4.对自启动应用自行禁止在所希望禁用的应有右键,选择禁用即可...

2022-01-15 16:55:39 2751

原创 [C++]如何动态加载DLL

实际流程1.动态加载动态库LoadLibrary("xxxx.dll") // 宏函数 依据项目定义字符格式决定函数版本LoadLibraryA("xxxx.dll")// 窄字符版本LoadLibraryW("xxxx.dll")// 宽字.

2022-01-15 02:01:05 6763

原创 [C++] 判断质数 遍历区间质数

#include <iostream>#include <format>#include <chrono>auto IsPrime(unsigned int number) -> bool{ auto PrimeLambda{ [capture = number]() noexcept -> bool {for (unsigned int i{ 3 }; i <= sqrt(capture); i += 2) if (capture %

2021-10-21 10:20:02 225

原创 [Windows][C++]让窗口居中

#include <Windows.h>#include <memory>#include <string>#include <crtdbg.h>class WindowException:public std::exception{ std::string str{};public: WindowException(_In_ std::string str):str(std::move(str)) {

2021-10-18 14:03:55 2374

原创 [算法][C++]如何在不改变原有链表的情况下判断两个单项链表的相交点

原题目,在不改变两条单项链表的情况下,判断相交点.据说是字节跳动的面试Easy题.class Node{public: int data; Node* next; Node(int data, Node* nextP = nullptr) :data(data), next(nextP) {}};先写一个节点类Node* sameAddress{ new Node{666,new Node{4,new Node{5}}} }; Node No_1{ 1

2021-07-10 16:48:34 109

原创 Windows11 部分程序中文乱码解决方案[通用解决Windows10]

Windows11 中文程序乱码,出现这种问题是字符编码问题导致的.如果你是安装的Windows11 偷跑镜像来安装的系统,那么就会出现这种情况.因为偷跑镜像流出的时候,微软还没有对Windows11进行中文本地化.即便是到现在依旧没有全部完成本地化(2021年7月8日)即便之后通过预览计划正式更新到Windows11先行版也会遗留下关于字符设置的问题.首先,打开控制面板.找到时钟和区域.选择区域.打开管理.选择非Unicode程序的语言.更改系统区域设置为中国.(需要提供admin权限

2021-07-08 14:59:40 71646 3

原创 Windows 遍历进程和获取指定PID

void TraverseProcess(std::map<std::wstring, int>& processMap){ HANDLE hSnap{ CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0) }; if (hSnap != INVALID_HANDLE_VALUE) { PROCESSENTRY32 processEntry; processEntry.dwSize = si

2021-06-20 17:18:13 915

原创 [C++][调试技巧] VS 中的 Debugger Visualizers 使用指南 (.natvis文件)

目录简介使用前的一些检查如何使用Visualizers(让.natvis文件生效)例子简介Debugger Visualizers 是微软在 Visual Studio 2013之后添加的功能.可让程序员使用XMAL定义调试视窗的数据结构显示.以更爽的方式来显示.Visual Studio 中STL容器的调试显示信息就是通过该功能实现的.注意!只支持结构体和类下面是示例图:自定义数据视图支持中文显示.当然,你也可以按照STL的格式来写,完全随你的心情使用前的一些检查1.首先,你需

2021-05-29 17:28:57 3494

原创 [灌水]比STL::map&STL::unordered_map效率高十倍的自写Hash_map

这个文章就是扯犊子用的,当然也附带源码.本文内的hash_map基于我之前发布的哈希表源码,改进而来.200万条数据,循环100次 也就是2亿次的覆盖or追加.第一列的第一个窗口是STL容器的效率,第一列第二个窗口是自写Hash_map的效率可以看到,速度相差十倍.而最下面的那个窗口则是检测数据写入是否成功.这2亿条数据,只要有一条写入不成功,都会直接退出程序并打印失败字符串.该hash_map之所以比STL的效率高,是因为哈希冲突的几率低,依靠最优指数解决的哈希冲突.不保证该办法应用于所有

2021-05-28 11:52:16 291

原创 [C++] Hash_map 实现原理和源码[散列表][散列映射][泛式数据支持][STL]

Hash_map作为非线性数据结构.在阅读前,你需要确定你已经真正的理解了什么是指针.并且在不看任何源码的情况下,通过原理实现出链表数据结构.如果不太确定的话,建议以下文章:[C/C++]指针的原理和对指针的运用及理解(包括函数指针和多级指针)[C++]什么是引用,以及引用和指针的关系(对内存和指针运用的理解)[C++] LinkList:双向不循环链表的原理和实现(基础)或者不想看长篇大论,可以直接滑动到最下面,copy源码.源码内有注释和例子,复制粘贴就能用.如果可以,请点个免费的赞,

2021-05-22 18:13:00 704 1

原创 [HashCollision][哈希冲突][HashValue]:最佳哈希质数

个人使用:解决哈希冲突的方法有很多,所以,希望大家可以根据自己心中所想来解决,此方法非唯一标准.规则:列表中的每个数字都是质数每个数字都略小于前一个数字的两倍每个数字都尽可能远离最接近的2的2次方所有符合上面三个标准的数字,都可以在各自的区间极少的减轻哈希冲突.可以按照这个标准,来通过电脑计算得出.用以下列表给出的质数,可以让你的哈希函数计算得出的哈希值,在下列区间内,最优的解决哈希冲突(HashCollision)下限(DEC)上限(DEC)区间相对偏差(%)质数

2021-05-22 17:43:09 640

原创 [C/C++] 指针的原理和对指针的运用及理解(包括函数指针和多级指针)

目录C/C++指针存在的必要性内存和指针原理的简易认知指针的理解指针相关运算符数据指针和函数指针的声明方式指针原理**指针风暴**数据类型权限和指针级数C/C++指针存在的必要性指针的重要性,是毋庸置疑的.有很多时候你都需要对内存进行管理,没有指针,就有受苦的时候了.没有指针,依托节点数据结构铸造出来的数据类型,就是无稽之谈.总不可能为了实现这些非线性数据结构,去写内联汇编吧.C/C++和很多语言最大的区别,就是对于指针的运用.C/C++不像其他语言哪样,对程序员保护的像个小宝宝一样,生怕你

2021-05-21 01:33:35 1312

原创 [C++]迭代器iterator的实现(支持编译器for块简易写法)

什么是迭代器?以下是维基百科的简介.迭代器(iterator),是确使用户可在容器对象(container,例如链表或数组)上遍访的对象[1][2][3],设计人员使用此接口无需关心容器对象的内存分配的实现细节。其行为很像数据库技术中的光标(cursor),迭代器最早出现在1974年设计的CLU编程语言中。在各种语言实现迭代器的方式皆不尽同,有些面向对象语言像Java、C#、Ruby、Python、Delphi都已将迭代器的特性内置语言当中,完美的跟语言集成,我们称之隐式迭代器。但像是C++语言本身

2021-05-12 19:22:30 1450

原创 [C++]什么是引用,以及引用和指针的关系(对内存和指针运用的理解)

我看到网上,有很多所谓的,引用是引用变量,指针是指针变量,对某个变量起了个别名之类的错误言论.百度百科都是说引用是变量的别名,这是误人子弟!以下是百度百科原文引用(reference)就是C++对C语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符&引用名=目标变量名;如果想方便他人理解,这么说,还可以让他人认同.但是言之凿凿的说引用和指针是两个类型,那么就太可笑了.什么是引用?引用其实不过是指针更方便的写法罢了

2021-05-08 21:13:35 444 1

原创 [C++]实现自己的cout和endl(基于运算符重载)

如果你已经看过我关于运算符重载的文章,并且已经理解;那么我们就可以轻而易举的实现出自己的cout和endl 当然,不会实现出std::cout那么强悍的功能.毕竟这可是要从底层开始写起来的,博主这种三键程序员还是算了,但是只是实现出一个类似的,帮助你进一步对运算符重载的理解还是没问题的整个项目源码,下载地址在最下方上代码#include < cstdio >#pragma oncenamespace bbxyIO{ struct ENDL; class St

2021-05-08 18:47:57 934

原创 [C++]简单易懂的理解什么是运算符重载 Operator

C++允许我们对函数和运算符重载,函数重载很简单但是运算符重载比函数重载在书写方面更抽象.运算符重载,我们在什么情况下使用?比如两个类对象进行加减乘除,赋值运算等等更简单的说,就是原本自带的运算符不能满足你的代码需求了这时候你就需要使用运算符重载整个项目源码,下载地址在最下方先定义一个复数类template <typename dataType>;class Complex{ dataType realNumber; // 实数 dataType imagNu

2021-05-08 18:15:00 234 1

原创 [C++] LinkList:双向不循环链表的原理和实现(基础)

链表作为计算机中,经典的数据结构.也是程序员的基本功,如果你连链表都不会写,那么最好不要去面试.它是抽象层面的线性表数据结构,在物理上存储,则并不连续. 因为new(malloc)出什么地址,是归计算机分配你只能决定申请多少个,而不是申请什么地址.附双向不循环链表原理图(使用MicrosoftWindows10自带的pint工具绘制)//如果图片看不清,推荐使用imagus插件或者下载原理图原件即便代码部分不熟练,只要记的实现原理,便可以说是掌握链表结构了.链表结构分为多种.{单向不循环链...

2021-05-08 15:44:04 432

现代Cpp语言及标准库参考文档.pdf

由4个部分组成 { C++语言文档 C++语言参考 C/C++预处理器参考 C++标准库参考 }

2021-10-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除