LLVM - Linux配置/安装LLVM环境 本次编译及运行测试均在Deepin(Debian)平台。 下载源代码 首先我们得克隆llvm-project完整的代码,不能只下载llvm子项目的代码(这样只有旧版才能编译的了)。 github git clone https://github.com/llvm/llvm-project gitee 2023-06-30 llvm #llvm#rust#c++
C++ - 类型操作 forward std::forward 是一个函数模板,通常与右值引用(rvalue references)结合使用。它的主要作用是实现完美转发(perfect forwarding),确保在函数模板中能够保留传入参数的值类别(左值或右值)。这个特性在泛型编程和模板代码中非常重要,可以避免不必要的 2023-06-28 c++ #c#c++#type-operation#std#forward#move
锐捷 - SuConfig.dat解密Rust版 pub fn decode_config(file_path: &str) { let mut file_bytes = std::fs::read(file_path).unwrap(); let mut dst = vec![0u8; 2048]; decode_dat( 2023-03-13 rust #rust#ruijie
C++ - 功能特性测试 标准中为 C++11 和之后引入的 C++ 语言和程序库的功能特性定义了一组预处理器宏。标准有意使之成为检测这些功能特性是否存在的一种简单且可移植的方式。 检查 __has_cpp_attribute( 属性记号 ) 检查你的编译器是否支持某些属性(某些特性/语法/宏)…… 可以在#if #elif 2022-07-20 c++ #c#c++#std#macro
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