这里以下面这部分代码为示例进行分析,在虚幻之后的版本中可能改变但大同小异。 FORCEINLINE void AddSharedReference() { SharedReferenceCount.FetchAdd(1, EMemoryOrder::Relaxed); } void ReleaseSharedReference() { RefCounter::ValueType OldSharedReferenceCount = SharedReferenceCount.FetchSub(1,
作者: _Redstone_c_
基本硬件信息 上位机:Raspberry Pi 5 下位机主板:BIGTREETECH OCTOPUS Pro 工具头主板:EBB36 V1.2 这里使用 USB 连接上位机和下位机主板,然后再通过 CAN 总线连接下位机主板和工具头主板。 此方案中不使用单独的 USB 转 CAN 桥硬件。 Raspberry Pi 5 此处参照 Klipper Installation And Update Helper 。 使用 Raspberry Pi Imager 写入树莓派镜像。 选择 Raspber
在 C++ STL 中包含多种不同的字符转换方式,主要分为继承自 C 风格函数式转换和 C++ 刻面对象。 本地环境和刻面 本地环境是一系列刻面的集合,描述了本地字符的编码,刻面描述了各种文本处理的方案。 例如在默认的 "C" 本地环境中,本地窄多字节编码指的是 ASCII 码,而在 "Chinese (Simplified)_China.936" 本地环境中,本地窄多字节编码指的是 GBK 码。在 "en_US.UTF-8" 本地环境
兽装风扇:https://www.myredstone.top/archives/5370 BGM:Aria Math – C418
功能介绍:https://www.myredstone.top/archives/5370 浮雕教程:https://www.myredstone.top/archives/5381 项目地址:https://gitea.myredstone.top/Redstone1024/Fursuit-CylinderFan BGM:Aria Math – C418 DC 口版本不含电池成本 50+ RMB Type-C 版本不含电池成本 100+ RMB 本设计基于 CC BY 4.0 协议
制作教程:https://www.myredstone.top/archives/5374 项目地址:https://gitea.myredstone.top/Redstone1024/Fursuit-CylinderFan 基础配置 扁 圆 双 三种快拆磁吸喷口,可以轻松随意更换。 采用松下 21700 三串锂电池,全速续航 5 到 7 小时。 5CM 服务器暴力扇,无需全速即可轻松散热。 Type-C 快充充电接口,只需 2 小时即可充电 80% ,三个半小时左右即可充满。 Type-C 反
基础参数 分辨率:4K(3840 X 2160) 封面参数 字体:Source Han Sans SC VF – Bold 字号:500 pt 描边:48 px – Outside 底部字幕 预设:默认字幕 间隔:4/30 秒 字体:思源黑体 CN Regular 字号:64 颜色:#FFFFFF 加粗:True 描边颜色:#000000 描边不透明度:100% 描边模糊:0 描边厚度:4
只需在额外 CSS 代码中添加如下内容,对于长图只需要在图片地址后添加 #height-full 即可。 .entry-content img { display: flex; margin: 0 auto; max-height: 512px; } .entry-content img[src*="#height-full"] { max-height: 100%; } 参考 MarkDown内如何调整图片的尺寸及对齐方式? WordPress建站教程:让所有图片自动居中
一般事项 对于所有的贴片或直插件焊盘,每个焊盘上锡不宜过多,应形成平滑表面,但不凸出成球。 对于一般贴片焊盘,在焊接前的锡浆厚度以 0.12mm 为宜(即钢网厚度)。 对于 EP 散热焊盘,应当减少 50% 的锡浆用量。 如何焊接 QFN 以及类似封装 确认 PCB 和 QFN 元件焊盘上尽可能没有多余的锡,使用吸锡带清理。 在 PCB QFN 四周焊盘上涂抹适量的锡(如图所示,尽可能多)。 将 QFN 元件放置到 PCB 对应位置。 使用热风枪加热 QFN 元件以及周围,确保所有的锡膏融化,焊
符号 含义 A 可分离组件或子组件 PCB 组件 AT 衰减器或隔离器 BR 桥式整流器 BT 电池 C 电容器 CN 电容网络 D CR 二极管 晶闸管 DL 延迟线 DS 显示器 通用光源 灯 信号灯 F 熔丝 FB 铁素体磁珠 FD 基准 FL 过滤器 G 发生器或振荡器 GN 广义网络 H 硬件 – 螺钉 螺母 垫圈 HY 循环器 定向耦合器 IR 红外二极管 J 插孔 – 连接器对中最小的可移动连接器 插孔连接器 – 连接器可能具有公引脚触点和母插座
什么是 PIN Direction 在 Fusion 360 / EAGLE 中创建元件库时,需要创建一个符号(电气原理图的一部分)。 这时,需要设置零件的符号形状和端子数量,其中设置组件端子功能的项目是 Direction 。 PIN Direction 共有以下九个选项: Direction 全称 类型 备注 nc Not Connected 空引脚 散热/固定焊盘 in Input 输入 IC 输入引脚 out Output 输出 IC 输出引脚 io Input/Output 双向 GP
此文档基于神念科技的 TGAM1 模块。 技术规格 概述 类型 规格 备注 产品系列 ThinkGear-AM A = ASIC, M = Module 模块型号 TGAM1 模块版本 2.4 适用于 2.3 模块尺寸 (Max) 27.9mm x 15.2mm x 2.5mm 1.10in x 0.60in x 0.10in (L x W x H) 模块重量 (Max) 130mg 0.0045oz 工作电压 2.97V ~ 3.63V SP6200 3.0~6.0V MAX1595 1.8~
常用元件库 Frames.lbr 电路图框架 Supply2 电源和接地 Battery 电池 RCL 电阻 电容 电感 电解 电容 [R-EU C-EU CPOL L-E] POT 电位器 [TRIM US] Resistor-Net 排阻 Diode 二极管 [ZENER-DIODE] Triac 晶闸管 Transistor-NPN Transistor-PNP 三极管 Transistor-FET 场效应管 LED 发光二极管 Display-Ingbright 七段数码管 [7-SEG
struct fenwick_tree_2d_t { lli n, m; array2d_t<lli> tre; fenwick_tree_2d_t(lli n, lli m) : n(n), m(m), tre(n + 1, m + 1, 0) { } lli lowbit(lli x) { return x & -x; } void build(lli** arr) { for (lli i = 1; i <= n; ++i) for (lli j = 1; j &
template <typename T> struct array2d_t { lli n, m; vector<T> data; array2d_t(lli n, lli m) : n(n), m(m), data(n* m) { } array2d_t(lli n, lli m, lli v) : n(n), m(m), data(n* m, v) { } decltype(auto) operator[](tuple<lli, lli> ind) {
struct group_t { struct edge_t { lli u; lli v; lli w; lli nxt; }; lli n; vector<lli> head; vector<edge_t> edge; group_t(lli n) : n(n), head(n + 1, -1), edge(1) { } void add_edge(lli u, lli v, lli w) { edge.push_back({ u, v, w, head[u] });
struct mat { lli n, m; vector<lli> vec; mat(lli n, lli m) : n(n), m(m) { vec.resize(n * m); } lli& at(lli i, lli j) { return vec[(i – 1) * m + j – 1]; } lli at(lli i, lli j) const { return vec[(i – 1) * m + j – 1]; } void zero(lli x = 0) {
这里使用的 CPU 是 I9-9900K ,显卡是 2080Ti,宿主系统和虚拟机系统是 Debian GNU/Linux 12 。 首先要确认主板支持 VT-d 功能,并在 BIOS 中开启。 启动 IOMMU IOMMU 是 Intel VT-d 和 AMD-Vi 的通用名称。 在宿主系统中启用 IOMMU 很简单,就是给 Linux 内核一个额外的启动参数。 可以直接修改 /etc/default/grub 中的 GRUB_CMDLINE_LINUX_DEFAULT 项。 GRUB_CMD
C/C++ 参考手册 graph LR Fundamental[基础类型<br/>std::is_fundamental] Void[void<br/>std::is_void] NullPointer[std::nullptr_t<br/>std::is_null_pointer] Arithmetic[算术类型<br/>std::is_arithmetic] FloatingPoint[浮点类型<br/>std::is_floati
中所周知,C++ 中的 struct 来源于 C 语言历史遗留,除了默认作用域为 public 外,与 class 并无区别,理论上可以混用。我们这里通过标准库,以及 Unreal 等工程实践,对 struct 和 class 关键字的选择进行一个总结。 如果类型包含非 public 成员变量,应当选择 class 。 如果类型包含 virtual 函数,应当选择 class 。 如果类型可以 聚合初始化 ,应当考虑 struct 。 如果类型的构造析构以及赋值函数为 = default; 实现
本文完全由 ChatGPT 生成。 std::function 和 std::any 采用构造新对象并交换的实现方式,也有一些其他的优点和好处。例如,这种实现方式可以避免赋值运算符(operator=)抛出异常的情况,从而保证了赋值操作的异常安全性。 例如,如果 std::function 和 std::any 采用直接调用赋值操作的方式实现赋值,那么在赋值操作中如果抛出了异常,就可能导致对象的状态发生改变,从而导致程序的不正常终止。而采用构造新对象并交换的实现方式,可以避免赋值操作中抛出异常的
作者:卦者灵风 大漠 有马 明天理 相传 行千里 身如焰 汗似血 疾驰 擎天底 绮丽 头生犄 此状 凡马未可比 此乃祥瑞 迹 举朝 皆喜 谁得利 远观那千里马 一团火 撩起大漠 奔腾 嘶鸣 腾空 坠落 无比洒脱 圣上 欣喜万分 盛世才有此佳作 然 主隆恩 绝不会给马套上枷锁 赵丞相抹了抹汗 这算是勉强又过了一关 护驾回宫 身姿卑躬 眼睛深深的埋在臂弯 他暗骂 这蠢马不知好歹 竟敢发出鹿鸣 还好声小式微 很快便被繁杂噪音抚平 斑纹被鲜血遮盖 上面又点上一把火 再在远处造些雾霾 朦胧中更添几分把握
最近折腾 iSCSI 发现想断开一个 iSCSI 连接似乎并不是一件容易的事情。正常断开可能会遇到类似正在被使用中的提示,如果强行断开适配器, iSCSI 启动器会卡好久。同时如果使用任务管理器强行结束 iSCSI 启动器,再次打开后会发现虽然 iSCSI 目标不见了,但是重启电脑又会再次试图自动连接,薛定谔的 iSCSI 目标。通过谷歌发现 我不是一个人 ,网上有好多人遇到了该问题。 目前已知的可行操作方案步骤如下。 Iscsi Initiator -> Favorite Targets
首先,在 cppreference 上对于这部分的描述节选为。 声明于块作用域且带有 static 或 thread_local 说明符的变量拥有静态或线程存储期,但在控制首次经过其声明时才会被初始化。在其后所有的调用中,声明均被跳过。 如果初始化抛出异常,则不认为变量被初始化,且控制下次经过该声明时将再次尝试初始化。 如果初始化递归地进入正在初始化的变量的块,则行为未定义。 函数内部的静态局部变量的初始化是在函数第一次调用时执行,在之后的调用中不会对其初始化。 在多线程环境下,仍能够保证静态局
Markdown 语法 参考文档 参考文档 这一节介绍了你在使用 Markdown 语法写作时需要知道的概念。 部分语法限制在 Markdown Extra 中被更改,别忘了查看下方的 Markdown Extra 部分。 概述 哲学 Markdown 的目的是在可行的情况下尽可能地易于阅读和写作。 然而,可读性被强调在所有其他方面之上。一个 Markdown 格式的文档应该是可以作为纯文本发布的,而不像被标记过的标签或格式化说明。虽然 Markdown 的语法受到了几个现有的文本到 HTML
使用 Passster 插件可以通过密码区域性的保护一个段落,除了在后台新建保护区外,可以使用短代码。
这里使用的群晖型号为 DS418Play ,实测下来 PPPoE NET4 模式下网速只能达到 100Mbps ~ 300Mbps ,所以在这里特别说明一下,软路由也是需要性能的!千万不要变成作者一样的小丑。 网络设备结构图 下面分别是在使用软路由前和使用软路由后的网络设备结构图。 graph TD LT{{联通 1Gbps}} — 1Gbps — C[路由器] DX{{电信 300Mbps}} — 1Gbps — A[路由器] YD{{移动 4G}} — 4G — B[路由器
词曲唱:因你而在的梦 卦者灵风 视频:卦者灵风 混音:神兔小P 编曲:Mr.Nine 曾有鲤鱼池中 抬望眼 奋勇跃起腾飞 万丈险 终是龙行四海 立浪尖 光耀门楣凭此 慰苍天 这是我自幼听闻的传说 兴许是浪潮来将我给撺掇 打湿的鳞片斑驳 怕让心愿散落 我在泥沙间做不到淡泊 遥知龙门山上无水路 我却觉是因祸得福 有寒门化开的雪(学)汇入 都尽数流进我的湖 先学(鲜血) 水至清则无鱼 浑浊的世道 让我学会抱拳(保全) 燕雀 安知金鳞远志 锦鲤(经历)被曝晒 前途总耀眼 祖上额头的黑疤(黑八)是奇迹 鲤
词曲唱视:卦者灵风 副歌节选:饮酒·其五 编曲:JaylinN 混音:神兔小P 结庐在人境 而无车马喧 问君何能尔 心远地自偏 山气日夕佳 飞鸟相与还 此中有真意 欲辨已忘言 早起 劈柴 闻花香听着虫鸣 锄地 在谷底 铁木回声空灵 露珠 沾湿帽檐 在日光下玲珑 可纵情 何不是种荣幸 这令我钟情 和憧憬 山水不比嘈杂尘世光洁 和煦的风在旷野 青葱的草地 从不计较我的服饰 缠身鼓乐 繁文缛节 都可忘却 在漫漫长夜 伴我有竹影和圆月 做独行的燕雀 千里马鸿鹄请去骈列 算我欠缺 强咽喉中 骨鲠的本领 我
众所周知 Linux 汇总执行命令可以通过如下格式来将结果输出到文件中。 [命令] >> [文件名] 2>&1 其中 > 表示输出到, >> 表示追加到。 在 Shell 脚本中,默认情况下,总是有三个文件处于打开状态,标准输入、标准输出、标准错误,它们分别对应的文件描述符是 0,1,2 ,还有一个特殊文件是 /dev/null ,所有传给它的东西它都丢弃掉。 > 默认为标准输出重定向,与 1> 相同。 2>&1 意思是把 标
更改档案拥有者 命令 : chown [-cfhvR] [–help] [–version] user[:group] file… 功能 : 更改文件或者文件夹的拥有者 参数格式 : user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group) -c : 若该档案拥有者确实已经更改,才显示其更改动作 -f : 若该档案拥有者无法被更改也不要显示错误讯息 -h : 只对于连结(link)进行变更,而非该 link 真正指向的
类生命周期及常用运算符追踪器 struct FTracker { FTracker() { std::cout << "FTracker()" << std::endl; } FTracker(const FTracker&) { std::cout << "FTracker(const FTracker&)" << std::endl; } FTracker(FTracker&&am
参考文章 格式 <type>(<scope>): <subject> type 类型 feat – 功能 fix/to – 修复 fix – 产生 diff 并完全修复此 bug 适合于一次提交直接修复问题 to – 只产生 diff 不完全修复此 bug 适合于多次提交 最终修复问题提交时使用 fix docs – 文档 指不涉及代码文件的 如 .md 等文件的更新 style – 格式
函数签名 参考文档:new – delete 即使不包含 标准库 头文件,版本 可替换分配函数 与 可替换解分配函数 也会在每个翻译单元隐式声明。版本 可替换分配函数 与 可替换解分配函数 可以替换:在程序任意位置定义并在任意源文件的用户提供的拥有相同签名的非成员函数都会替换默认版本。它的声明不需要可见。 这意味着我们在替换全局 new/delete 函数时,无需在 .h 中声明,只需要在 .cpp 中定义他们。 对于某个可以替换的函数,如果程序中提供了它的多个替换,或它有带 inl
git commit –amend 修改上一个 Commit 。 git push -f 强制推送更新。
百度云链接 提取码 – iabs
template <typename T> void LOrR(T&) { std::cout << "L" << std::endl; } template <typename T> void LOrR(T&&) { std::cout << "R" << std::endl; } template <typename T> void FuncA(
在实现 TypeTraits 时发现标准库的 std::is_scoped_enum 在 C++23 才会正式实装,于是通过翻 Unreal Engine 4 的源码发现了一个巧妙的替代方案,类似如下的实现: NAMESPACE_PRIVATE_BEGIN uint8(&Resolve(int64))[2]; uint8 Resolve(…); template <typename T> struct TIsEnumConvertibleToInt : TBoolCons
网页全屏显示 – 项目代码
问题 使用 UE4.23(最后一个支持 HTML5 平台的版本) 打包 HTML5 并部署到 Apache 服务器上,基本设置完成后出现错误,页面报错如下。 Uncaught TypeError: Cannot read properties of null (reading 'toLowerCase') Uncaught TypeError: Cannot read properties of null (reading 'toLowerCase') U
资源 通用 资源类型 前缀 后缀 Level / Map Level (Persistent) _P Level (Audio) _Audio Level (Lighting) _Lighting Level (Geometry) _Geo Level (Gameplay) _Gameplay Blueprint BP_ Material M_ Static Mesh SM_ Skeletal Mesh SK_ Texture T_ _* Particle System PS_ Widget B
网页全屏显示 – 项目代码
进入终端 docker exec -it [容器 ID] [解释器] 一般情况下 解释器 为 bash ,如果出现报错可尝试 sh 、 /bin/bash 、 /bin/sh 或 /bin/csh 。 复制文件 docker cp [容器 ID]:[路径] [容器 ID]:[路径] 如果在不写 容器 ID 则表示目标为宿主机。 查看镜像 docker images 制作镜像 docker commit -p [容器 ID] [快照名] 保存镜像 docker save -o [路径] [快照名]