摘要: 内容主要为《windows核心编程第五版》 多线程在应用过程中主要的目标是解耦和同步 解耦:让一个小的模块依赖另一个模块变成依赖一个简单是信号,不用管是给的信号,只要给到了信号,我就执行对应的逻辑,这样的架构会让逻辑代码充分的解耦。 同步:同步资源的权限状态 线程 线程由内核对象和线程栈组成,线程默 阅读全文
posted @ 2022-12-20 18:03 过往云烟吧 阅读(49) 评论(0) 推荐(0)
摘要: 这篇文章将用来记录平时第一次遇到的语法或关键字,仅记录我使用到的功能,不进行拓展。 volatile C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier(内存壁垒)。是一种类型修饰符,用它声明的类型变量表示可以被某些编译 阅读全文
posted @ 2022-12-20 15:14 过往云烟吧 阅读(92) 评论(0) 推荐(0)
摘要: C++委托蓝图注册 //声明委托 必须声明多播委托 DECLARE_DYNAMIC_MULTICAST_DELEGATE(FRefresh); //声明委托字段 { UPROPERTY(BlueprintAssignable) FRefresh dTest; } 蓝图使用 C++方法蓝图调用 UFU 阅读全文
posted @ 2022-12-20 10:53 过往云烟吧 阅读(749) 评论(0) 推荐(0)
摘要: 在12月份的时候写的这篇文章,感觉有很多地方都没有写到位,现重构这篇文章。(2023/2/2重构) 堆内存特征 1.堆管理器调拨的物理存储器始终是从页交换文件中分配的。 2.在默认情况下对堆的访问是依次进行的,使多个线程可以从同一个堆中分配和释放内存块。 3.一个进程可以有多块堆内存 堆申请的内存在 阅读全文
posted @ 2022-12-16 14:04 过往云烟吧 阅读(140) 评论(0) 推荐(0)
摘要: 内核对象是什么? 内核对象是以一个内存块,它由操作系统内核分配,并只能由操作系统内核访问。这个内存块是一个数据结构,其成员维护着与对象内相关的信息。内核对象只能由操作系统访问,所以应用程序不能再内存中定位 这些数据结构并直接修改内容。 内核对象怎么创建? 应用程序使用Windows提供的函数来访问内 阅读全文
posted @ 2022-12-16 14:03 过往云烟吧 阅读(149) 评论(0) 推荐(0)
摘要: ue5加载ui和ue4略有不同,创建UIApI->CreateWidget有一些改动。 template <typename WidgetT = UUserWidget, typename OwnerT = UObject> WidgetT* CreateWidget(OwnerT* OwningO 阅读全文
posted @ 2022-12-15 10:01 过往云烟吧 阅读(875) 评论(0) 推荐(0)
摘要: ue5委托 ue的委托使用宏来进行声明,对参数个数和返回值个数要求不一样可以使用不同的宏来声明。下面是一个有一个返回值,无参数的委托 DECLARE_DELEGATE_RetVal(bool,State_SwapFunc); 值捕捉 s.eS是对象的一个枚举FsmState的字段,这里会返回两个枚举 阅读全文
posted @ 2022-12-14 09:58 过往云烟吧 阅读(88) 评论(0) 推荐(0)
摘要: 官方文档:https://learn.microsoft.com/zh-cn/cpp/c-runtime-library/reference/stat-functions?view=msvc-170 推荐使用_tstat方法,会根据编译环境选择适合的方法。该方法会从指定路径下查找文件如果查找到了会返 阅读全文
posted @ 2022-12-14 09:42 过往云烟吧 阅读(131) 评论(0) 推荐(0)
摘要: 这个错误是因为在普通c++类声明的时候添加了【项目名_API】这个宏。所以,普通类里不能使用这个玩意儿。 阅读全文
posted @ 2022-12-13 14:33 过往云烟吧 阅读(181) 评论(0) 推荐(0)
摘要: 大概率是父类和类的头文件有互相引用。 阅读全文
posted @ 2022-11-25 15:09 过往云烟吧 阅读(37) 评论(0) 推荐(0)