- 博客(37)
- 资源 (3)
- 收藏
- 关注

原创 UE4 UE5 opencv插件 获取摄像头画面
本插件在UE4.26、UE4.27、UE5.0.3等版本亲测有效,谢谢各位前辈朋友,这里就不一一鸣谢了。
2022-02-13 15:26:50
13598
54
原创 观察者模式(sigslot in C++)
大家,我是东风,今天抽点时间整理一下我很久前关注的一个不错的库,sigslot 官网: http://sigslot.sourceforge.net/
2024-12-19 16:37:20
922
原创 发布-订阅(ZeroMQ) C++实现
自从发了《发布-订阅(Publish-Subscribe)C++实现》博文,收到不少反馈:主要的问题就是无法跨主机使用。
2024-05-31 17:49:45
631
原创 发布-订阅(Publish-Subscribe)C++实现
发布-订阅(Publish-Subscribe)模式是一种消息传递模式,用于构建分布式系统中的通信机制。在这种模式下,消息的发送者(发布者)和消息的接收者(订阅者)之间通过一个称为“主题(Topic)”的中介进行通信。发布者将消息发布到特定的主题上,而订阅者可以选择订阅感兴趣的主题,并在消息发布到该主题时接收消息。假设我们有一个名为"NewsHub"的新闻平台,它采用发布-订阅模式来传递新闻。在这个平台上,有多个新闻频道发布各种类型的新闻,比如"政治新闻"、"体育新闻"、"娱乐新闻"等。
2024-05-09 15:52:27
3088
2
原创 UE5集成gRPC
最近有项目需要在UE5里做RPC,对比了thrift、gRPC、rcplib等开源rpc框架,由于习惯使用protobuf,故选择了gRPC。然而,Google出品也是一言难尽啊,最起码编译太繁琐了。本次使用的gRPC版本为1.62.1,UE5.2,以插件的形式集成,支持DebugGame/DebugGame Editor/Development/Development Editor/Shipping(目前只测试这几个)。
2024-04-19 20:56:15
1686
4
原创 UE4/UE5 日志插件(基于spdlog)
大概目录:SpdlogLibC目录下是对spdlog的封装:bin里是.dll,lib放是.lib,include是.h文件。
2023-12-15 15:03:44
514
原创 大数计算:e^1000/300!
当单独计算,因为,double的最大取值为1.79769e+308,所以肯定超过了double的表示范围。同样,对于300!也是如此。那我们应该怎么去计算和存储结果呢?
2023-10-13 17:33:34
400
原创 基于libharu的PDF操作
输出PDF评估报告。支持页边距、字号、行间距设置,页码采用自动编号(从1开始),可以缩放图片、自适应表格行高等。
2022-04-11 04:46:18
5201
20
原创 UE5 QRCode插件使用
本插件是我用源码重新封装的,不依赖静态库,纯源码,适用于多个UE版本,编辑器与打包发布都没有问题。本人在UE5EA上测试通过。
2022-02-13 17:32:31
4653
原创 Unity4.3.1引擎源码编译过程
源码获取**开源网等网站都可以拿到,毕竟好久的版本了。不想麻烦的可以参见文末源码百度云链接,不过一些修改需要自己做了。(实在不会的可以评论留言,本人提供远程编译调试服务)编译准备 Visual Studio 2010 Visual Studio 2010 SP1 Perl 5.24.3 Python 2.7 7z-zip 源码工程准备
2021-12-07 12:58:25
10005
25
原创 C/C++封装多维数组给其他语言调用
要求其他语言传的数组必须是内存是连续分配的。#include <vector>template<typename Ret>bool FindArrayMember(void* array, std::vector<int>& dims, std::vector<int>& submarks, Ret& result){ if (submarks.size() == 0 || dims.size() == 0 || (sub
2020-12-29 20:20:11
305
原创 从蓝图到C++
[for UE4 4.25.3]01 定制UE4 C++开发环境(1)VS2017 或 VS2019,选择组件:使用C++进行桌面开发;(2)插件 VAssitX(3)UE4 中配置:Editor Preferences>>source code editor>>选择VS版本。02 从蓝图跳转到C++源码(1)4.18版本以后须进行相关设置,之前版本可以直接调转;(2)设置步骤: 1)在launch 里下...
2020-12-03 23:02:19
539
原创 UE4插件开发
[for UE4 4.25.3]01 最常见的插件类型步骤:(1)Editor>>Plugins>>New Plugin(2)最常见的蓝图、资源(材质、图片和模型等)使用Content Only类型(3)插件中,可创建BlueprintFunctionLibrary类型,其他蓝图类即可使用它,无需其他操作。(4)将插件给其他工程用:右键资源>>show in explore,将工程文件夹Plugins下的插件名文件夹直接复制到其他工程中的相似文件夹
2020-12-03 10:31:17
1068
转载 Dedicated Server Guide (Windows)
Dedicated Server Guide (Windows)Guide on building Unreal Engine and project in the Dedicated server configuration.In order to build dedicated servers for Windows, you need a source build of Unreal Engine. Check outBuilding Unreal Engine from Source. I.
2020-11-03 17:56:20
612
原创 C++ OOP思想随手笔记
#ifdef __cplusplusextern "C" {#endif // __cplusplus#include <stdio.h>/*虚函数指针类型定义*由于定义类型相互嵌套,只能在实际用的时候将 void* this 强转成 CFront*。*/typedef void (*pVirtualFun)(void* this, int, int);//虚表typedef struct{ //一系列函数指针 pVirtualFun v;}vtb;//类定.
2020-10-09 14:09:50
202
原创 UE4 调用dll
UE4调用dll的方法和标准的c及c++相同,核心代码如下://包含dll的头文件#include "C:/Users/openeb/Documents/Unreal Projects/MyProject01/MyPlugins/IGaussDiffusion.h"#include "C:/Users/openeb/Documents/Unreal Projects/MyProject01/MyPlugins/IFactor.h"//定义dll里的函数指针typedef void (* de
2020-09-29 09:16:28
1181
原创 exe文件运行窗口嵌入Qt窗口
原理就是使用3个函数 FindWindow 、QWindow::fromWinId 和QWidget::createWindowContainer,具体实现如下:#pragma once#include <QtWidgets/QMainWindow>#include <QProcess>#include "ui_UE42Qt.h"class UE42Qt : public QMainWindow{ Q_OBJECTpublic: UE4...
2020-09-29 09:15:39
1114
原创 基于 Windows API 的 Tcp 通信(Server 端为多线程模式)
/** 服务端 .h 文件*/#pragma once#pragma warning(disable:4996)#include <iostream>#include<winsock2.h>#include<windows.h>#pragma comment(lib,"ws2_32.lib")class Server{public: Server(); ~Server();public: bool ready();privat.
2020-09-27 01:20:55
854
原创 为什么 void * 可以做通用指针
指针的本质 传智扫地僧名言:没有内存哪来的内存首地址,没有内存首地址哪来的指针?指针就是值为固定大小的内存块的首地址的变量或者常量。 指针的意义 指针的最大意义之一为间接赋值。i 在主调函数里分配内存,在被调函数中对其进行赋值等修改操作;在主调函数里分配内存,通过被调函数的参数返回操作结果。ii 在被调函数中分配内存,通过被调函数的参数返回被调函数里用malloc分配...
2020-09-25 16:55:39
324
原创 简单反射框架构建 C++实现
java自带反射功能,即可以通过类名(字符串)动态生成对应的类实例,c/c++系统并不提供这样的反射功能。第一步,简洁地说一下反射的实现思路:构建一个空基类,所有需要实现反射的应用类必须 public 继承该类; 构建一个专门用于产生类实例的工具类CreateObjectFactory,此类具体功能包括:提供工厂设计模式的唯一单例,并且实现应用类实例化方法的注册,同时支持据名返回 Object 对象指针; 构建一个自动注册的工具类 AutoRegister ,此类主要提供函数自动注册; 提供.
2020-08-28 15:56:33
417
原创 贝塞尔函数求值 C++实现
本实现完全基于一般意义下的贝塞尔函数定义,验证了部分阶数为正数的贝塞尔函数值。此外,本实现需要利用我博客下的那个伽马函数实现。#include <cmath>#include <complex>//任意阶三的第一类贝塞尔函数//n 为阶数//z 为复数(也满足实数求值,仅需设置虚部为0)std::complex<double> JFunction(const double n, const std::complex<double>&
2020-08-16 11:57:44
1787
1
原创 伽玛函数(Gamma函数)C++实现
前几天做项目中的一个算法,需要用到贝塞尔函数(半整阶),网上的代码一般都要收费,索性自己撸了一个,其中涉及伽马函数值求取,下面是我的思路与实现,供大家免费使用。第一步:首先介绍一下Gamma函数及本实现所用的数学公式。(1)在实数域上伽玛函数定义为:(2)在复数域上伽玛函数定义为:上述两个定义在百度百科上可以查到,本实现所用的公式是一个极限:此外,当时,Gamma函数为。第二步:实现Gamma函数。//伽马函数(辅助函数,用于求解贝塞尔函数,任意阶数)//x 变量
2020-08-15 14:28:41
6607
1
原创 Windows C++类导出DLL(利用多态完全屏蔽底层实现)
第一步:创建接口类1.接口类 .h 文件#ifndef ISmoke_h#define ISmoke_h/** ISmoke是一个提供给用户调用的头文件* 对应的库文件为:SmokeDll.dll SmokeDll.lib*/class ISmoke{public: ISmoke() {}; virtual ~ISmoke() {};public: virtual void sayHello() = 0;};//放回实际被调类的指针ISmoke* __cdec
2020-08-12 12:59:30
411
原创 Python3.7源码学习:long对象
几个重要的类及对象简介Python 中,所有的类继承自基类 PyObject。PyVarObject 是所有可变类的基类,PyVarObject 也继承自 PyObject 。同时,Python 中的对象都是通过其所属的类型对象创建的,该类型对象是 PyTypeObject 的实例,实例化该类型对象还需要一个特殊的类型对象PyType_Type 。这几个重要的类及对象定义如下,为了简洁明了,...
2020-03-18 19:25:22
432
原创 LinkList
#ifndef LINK_link_list_H#define LINK_link_list_Htypedef void link_list;typedef struct _targ_link_list_node{ struct _targ_link_list_node *next;}link_list_node;link_list * link_list_create();...
2019-08-23 23:25:36
386
原创 ArrayList
#ifndef SEQUENCE_LIST_H#define SEQUENCE_LIST_Htypedef void sequence_list;typedef void sequence_list_node;sequence_list * sequence_list_create(int capacity);void sequence_list_destroy(sequence_...
2019-08-23 23:22:34
226
原创 Windows及Linux下动态库的编译与调用示例
Windows 下:动态库编写//.h file//extern "C" 保证该函数按C语言的方式编译#ifdef __cplusplusextern "C" {#endif#ifndef DRILLING_TRACE_EVALUATE_H#define DRILLING_TRACE_EVALUATE_H/*1 因为 DLL_EXPORTS 在本头文件对应的 .c ...
2019-05-06 13:59:30
1040
原创 可测函数
1 定义可测函数:设是定义在可测集上的实函数,称为上的可测函数,如果满足: 【定理解释:对任意一个有限数,可测。称除了的实数为有限数。】在处连续:设是定义在可测集上的实函数,,称在处连续,如果满足: ...
2019-03-17 21:00:48
14401
1
原创 集论初步
1.逻辑基础1.1逻辑命题定义1:命题是一个或真或假的陈述语句,即陈述事实的句子,但不能既真又假。其是逻辑的基本成分。定义2:令p是一个命题,则⌝p表示p的否命题,表示“不是p说的情形”。定义3:令p、q都是命题,p、q的合取命题用“p∧q”表示,指命题“p且q”。当且仅当p、q都真时该合取为真。定义4:令p、q都是命题,p、q的析取命题用“p∨q”表示,指命题“p或q”。当且...
2019-03-16 16:17:08
1249
原创 测度
长度公理:设有实数直线上的一些点集所构成的集类,若对每一个,都对应一个实数,使得:(1);(2) 如果,,那么;(3)但是,该公理思考:[a,b]区间上所有有理数点集A的长度是多少?[a,b]区间上所有无理数点集B的长度又是多少?因为A是可数个点的并集,而在这个公理下,可以求的是有限多个点集的长度;同样,B是无限多个点的并集,也无法求。测度是长度概念的推广,为的...
2019-03-16 00:19:34
5163
原创 点集
点集:习惯上把集合中元素有某种关系、集合内有某种结构的集合,叫做空间或者点集。【这里的“关系”和集论初步的“关系”一致,而“结构”一般比较抽象,例如“度量”,“距离”就属于集合内的一种结构。】度量空间(距离空间):设X是一个集合,,其中满足:(1) ;(2) .称为x,y之间的度量(或距离),称为度量空间。【为什么定义度量?点集的极限、开集、闭集及紧集概念基础...
2019-03-15 17:18:57
4013
原创 MySQL编程入门
本文用的是 mysql 自己的接口来实现数据库的连接,所有没有很强的平台依赖性。(代码亲测,vs2012 x64下编译通过,可以直接封装成动态库使用)为了将查询的数据传出数据库,辅助一个 bus 类,该类主要的数据结构是 map 和 list ,这样做能够实现查询功能与数据的有效分离。 另外,本文虽然是数据库的查询功能实现,但是实际上也做了:插入、修改、删除,后三种操作都不需要辅助...
2018-09-10 00:10:49
964
原创 有了进程为什么还要引入线程?
像物理学家研究物质组成一样:先发现分子,其次继续细分发现原子,再后来是原子核和电子、夸克等等。进程也类似: 引入线程是有目的的——因为进程作为可拥有资源和可独立调度的基本单位,犹如一个随时背着粮草的士兵,这必然会造成士兵的执行事务速度,所以,一个想法就是:分配两个士兵执行同一个事务。一个负责搬运所需粮草并进行急速配给,另一个士兵只带口粮执行事务。这就是线程思想,所谓的轻装上阵...
2018-01-26 12:15:15
6227
原创 为什么引入进程?
我们知道,最早出现的OS是单道批处理系统,由于它是顺序执行程序的,即一个一个地按先到先执行的顺序依次执行。因此,CPU的高速性与I/O的低速性之间的矛盾很明显。为了缓解这个矛盾,人们引入了多道批处理系统,该系统让程序并发执行,即在一个程序发起I/O请求时CPU不再选择等待I/O完成,而是转去执行下一个程序。 然而,由于发起I/O请求的程序而暂停的程序什么时候又重新...
2018-01-24 22:43:55
5660
3
AFSim2.9.0 Linux编译指南
2024-09-20
PublishSubscribe-ZMQ 发布订阅C++实现
2024-05-31
发布-订阅(Publish-Subscribe)模式 C++实现
2024-05-12
UE5 gRPC插件测试案例
2024-04-19
UE5 gRPC1.62.1插件
2024-04-19
OpenGL的研发库 GLFW+GLAD
2024-01-19
osgearth-3.1 + Debug/Release + x64(VS2019)
2024-01-17
osg3.6.5 X64二进制包
2024-01-17
UE4/5 高并发日志插件
2023-12-15
UE5 OpenCV插件
2022-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人