前言服务器端的代码做了跨平台(POSIX和WINDOWS),基于POSIX平台(Linux、Mac OS X、PlayStation等)使用sys/socket.h库,windows平台使用winsock2.h库。 客户端代码因为基本都在windows运行,所以没做跨平台,需要的话你可以参考服务器端代码自己做一下。 文中写的函数原型均为windows平台,部 ......
614
0
0
2023-03-10
目录引入一.运算符重载是什么二.运算符重载的格式三.部分运算符重载的实现3.1 简单‘ + ’ ‘ - ’ ‘ * ’运算符重载3.2 ++,- - 运算符3.3 =运算符3.4 <<,>>运算符四.运算符重载注意事项五.运算符重载的限制六.MyString的简单实现MyString.hMyString.cpp引入对于基本类型的常量或 ......
370
0
0
2023-03-06
目录前言一、视频时钟1、时钟计算方法2、同步视频时钟3、同步到另一个时钟二、音频时钟1、时钟计算方法(1)、时间公式 公式一(2)、计算方法2、同步音频时钟(1)、阻塞式(2)、回调式3、同步到另一个时钟三、外部时钟1、绝对时钟四、封装成通用模块1、完整代码五、使用示例1、基本用法(1)、初始化(2)、设置同步类型(3)、视频同步(4)、音频同步(5)、获取 ......
323
0
0
2023-03-03
目录数组和链表数组链表什么是链表?链表的操作双向链表(list)list的成员函数哈希表什么是哈希表?哈希碰撞哈希表应用场景构建哈希表哈希表基本使用Leetcode对应题目前缀和差分数组滑动窗口二分查找数组和链表C++的数组和链表分别是什么?分别有什么种类?它们都有什么特性?针对这些特征,使用情形是什么?数组什么是数组?一个数组就像是一个变量,它可以存储一组 ......
488
0
0
2023-03-01
目录C++ 哈希表基本用法为什么要用哈希表遍历查找插入删除C++ 哈希表基础知识常见的三种哈希结构C++ 哈希表基本用法哈希表是一种很常见的数据结构,我现在平时刷算法题一般使用C++刷(不要问我为什么,懂的都懂)。C++关于哈希表有很多数据结构,平时使用的比较多的有unordered_set 跟 unordered_map。其中unordered_ ......
583
0
0
2023-02-28
目录一、memcpy()函数原型参数说明模拟算法使用示例二、memmove()函数原型参数说明模拟算法使用示例三、memset()函数原型参数说明使用说明使用示例四、memcmp()函数原型参数说明使用说明使用示例一、memcpy()函数原型void * memcpy ( void * dest, const void * src, size_t num ) ......
370
0
0
2023-02-28
目录介绍依赖关系设计思路项目进度数据库通用接口实例构造智能查询方式设计单元测试运行方法介绍我们通用的ORM,基本模式都是想要脱离数据库的,几乎都在编程语言层面建立模型,由程序去与数据库打交道。虽然脱离了数据库的具体操作,但我们要建立各种模型文档,用代码去写表之间的关系等等操作,让初学者一时如坠云雾。我的想法是,将关系数据库拥有的完善设计工具之优势,来实现数据 ......
298
0
0
2023-02-28
1 问题引出在进行socket通信开发时,一般会用到TCP或UDP这两种传输层协议,UDP(User Datagram Protocol)是一种面向无连接的协议,在数据发送前,不需要提前建立连接,它可以更高效地传输数据,但可靠性无法保证。TCP(Transmission Control Protocol)是一种面向连接的协议,一个应用程序开始向另一个应用程序 ......
311
0
0
2023-02-27
目录1.了解一些基本的内存段(图演示)验证栈是向下生长的验证堆一般是向上生长的(不一定)巩固内存管理知识点答案2.c++申请动态内存的新玩儿法new,delete回顾c语言动态内存管理的方式开辟内置类型的空间开辟自定义类型的空间(请用vs2013以上版本测试代码)总结一下3. 32位平台下可以开辟多大的内存如何开辟4G的内存4.了解operator new和 ......
339
0
0
2023-02-20
目录1.内容引入2.模板函数C语言写交换函数C++写交换函数模板交换函数的语法及其原理语法原理理解显示实例化和隐式实例化关于编译器也是懒人这件事3.类模板1.内容引入​ 不知道大家是否在高中时背过英语范文模板,以下就是博主的回忆:​ 这篇模板是一些英语比较好的老师写的。​ 每当碰到感谢信时,我都会狂喜,尽管感谢的内容不同,地点不同,我都可以去根据模板,再根据 ......
319
0
0
2023-02-20
在上一篇博文 《C/C++ Qt 标准Dialog对话框组件应用》 中我给大家演示了如何使用Qt中内置的标准对话框组件实现基本的数据输入功能。但有时候我们需要一次性修改多个数据,使用默认的模态对话框似乎不太够用,此时我们需要自己创建一个自定义对话框,这类对话框也是一种窗体,所以可以在其上面放置任何的通用组件,以实现更多复杂的开发需求。目前自定义对话框与主窗体 ......
313
0
0
2023-02-17
实现外部D3D屏幕绘制功能,例如将窗体附着到特定窗体之上,并在其上方绘制字体,方框等特殊线条,这类代码在透视辅助开发项目中用的最多,只不过如下提供的代码是外部绘制,只能应用到单机游戏内。新建一个空项目,根据自己的D3D库路径导入D3D新建一个预编译.h头文件:#pragma once #include <d3d9.h> #include ......
358
0
0
2023-02-16
欺骗任务管理器等行为工具,隐藏进程的另一种方法。原理是修改 EPROCESS 中的成员。如下分别提供驱动层伪装与应用层伪装的实现代码。驱动层进程伪装以下代码来自:https://github.com/zhuhuibeishadiao/PathModificationPathModification.h#ifndef _PATH_MODIFICATION_H_ ......
421
0
0
2023-02-16
通过修改PEB进程环境块的方式实现隐藏DLL,此类隐藏属于断链隐藏。PEB 中有一个成员 Ldr:typedef struct _PEB { UCHAR InheritedAddressSpace; UCHAR ReadImageFileExecOptions; UCHAR BeingDebugged; UC ......
387
0
0
2023-02-16
众所周知,windows下可执行文件必须符合一定的格式要求,微软官方称之为PE文件(关于PE文件的详细介绍这里就不赘述了,google一下可以找到大把);用户在界面双击exe时,有个叫做explorer的进程会监测并接受到这个事件,然后根据注册表中的信息取得文件名,再以Explorer.exe这个文件名调用CreateProcess函数去运行用户双击的exe ......
372
0
0
2023-02-16