C++ - 功能特性测试 标准中为 C++11 和之后引入的 C++ 语言和程序库的功能特性定义了一组预处理器宏。标准有意使之成为检测这些功能特性是否存在的一种简单且可移植的方式。 检查 __has_cpp_attribute( 属性记号 ) 检查你的编译器是否支持某些属性(某些特性/语法/宏)…… 可以在#if #elif 2022-07-20 c++ #c#c++#std#macro
UE4 - 基础篇:矩阵是什么? 想看为什么不问我要密码呢?想看为什么不问我要密码呢?想看为什么不问我要密码呢?想看为什么不问我要密码呢? 在哪些辅助项目中,所谓的矩阵就是视图投影矩阵(有些人喜欢叫他相口)。在UE4源码中,这个矩阵通常被命名为: ULocalPlayer::ViewProjectionMatrix FSceneVi 2022-06-20 unreal #ue#unreal
Rust - 纯Safe双向链表 该代码仅仅提供学习与交流,你要是和我考究性能,你开心就好。 Rust实现 struct Node<T> { data: Box<T>, head: Option<Arc<Mutex<Node<T>>>>, next: Option<Arc<Mutex<Node<T>>>>, 2022-06-06 rust #rust#linkedlist
Linux - syscall (sysdep) #undef INTERNAL_SYSCALL_ERROR_P #define INTERNAL_SYSCALL_ERROR_P(val) \ ((unsigned long int) (val) > -4096UL) #ifndef SYSCALL_ERROR_LABEL # define 2022-06-04 linux #linux#android#syscall#arm64#c++
Rust - 延迟初始化(静态/非静态)变量 lazy_static A macro for declaring lazily evaluated statics. Using this macro, it is possible to have statics that require code to be executed at runti 2022-05-23 rust #lazy_static#rust#test
Linux - 解读aarch64_insn_(read/write/patch_text) 在 AArch64架构(ARM 64位架构)中,以 aarch64_insn_xxx 命名的一系列函数(例如 aarch64_insn_read、aarch64_insn_write、aarch64_i 2022-02-03 linux #linux#kernel#kernel-module#aarch64_insn_xx
Linux - uprobe的使用及检测 uprobe是Linux内核中的一个动态跟踪工具,它允许用户在内核运行时动态地插入探测点(probe points)来收集调试和性能数据。 主要特点: uprobe可以在用户空间程序的任意位置插入探测点,而无需修改或重新编译源代码。 它能够收集函数调用、返回值、参数、局部变量等运行时信息。 对程序性 2022-02-02 linux #uprobe#linux