Linux:测试硬盘读写速度

需要对Linux上的固态进行一个读写测试,我知道是可以 dd 方式直接测试的,但是 dd 只能顺序读写,无法随机读写,因此这里再提供另一种方法。 在 Linux 上使用 dd 工具可以直接测试硬盘的读写速度 ...

开发实战:CMake实现可执行文件的安装与打包分发

就是代码写好了,肯定不能发源码出去,肯定发的是可执行文件,或者就依赖和可执行文件都打包好~ 如果是Github管理的话,甚至还要考虑一下Release管理。 ...

编程灵感时刻

一些实用的小工具 获取时间C++片段 // Unix时间戳 int64_t getTimestamp() { auto now = std::chrono::system_clock::now(); auto timestamp = std::chrono::time_point_cast<std::chrono::nanoseconds>(now).time_since_epoch().count(); return static_cast<int64_t>(timestamp); } 方便阅读的版本:年_月_日_时_分_秒 std::string getReadableTimestamp() { // 获取当前时间点 auto now = std::chrono::system_clock::now(); // 转换为 time_t 类型 std::time_t now_c = std::chrono::system_clock::to_time_t(now); // 将 time_t 类型转换为 tm 结构体 std::tm now_tm = *std::localtime(&now_c); // 使用 stringstream 生成格式化的时间字符串 std::stringstream ss; ss << std::put_time(&now_tm, "%Y_%m_%d_%H_%M_%S"); return ss.str(); }

开发实战:为什么要将函数实现与头文件分离

在写C++工程的时候,习惯性的是将头文件与其实现分开编写的。 今天被问到了这个问题: “在写C++代码的时候,将函数实现直接写在头文件里,会怎么样,有什么不好的地方?为什么要将函数的实现单独写在源文件” ...

Linux:打包压缩相关的基本使用

tar 是一个广泛使用的 Unix/Linux 命令行工具,用于创建、维护、修改以及提取 tar 文件。 tar 文件通常是文件档案的集合,而 tar 本身是 Tape Archive 的缩写,起初是用来将数据备份到磁带上。下面将介绍 tar 命令的基本用法,包括如何用它来压缩和解压缩文件,以及常见的压缩格式如 gz 的含义。 ...

Protobuf:安装指定版本

第一次接触Protobuf,遇到了系统版本与编译文件版本不统一的情况,以优先解决问题的考虑出发,考虑先把版本统一,验证代码是否可行,之后再来研究版本更新的问题。 ...

Linux:创建具有权限限制的新用户

创建一个具有限制权限的用户,同时确保这个用户不能访问其他用户的文件或目录,可以通过以下步骤进行: 1. 创建新用户 使用useradd命令创建一个新用户。可以指定用户的主目录、默认shell等。例如,创建一个名为newuser的用户: ...

Linux:内核启动不了之后

遇到了Linux新的内核启动卡死,老内核正常运行,索性就启动不了内核进行删除。 1. 查看当前运行的内核 在终端运行以下命令: uname -r 会得到下面这样的信息: 5.15.0-97-generic 2. 列出所有安装的内核 列出所有已安装的内核: ...

TensorRT:最简明的安装流程

以下记录安装的TensorRT环境安装的最简单,也是最正确的流程。 因为很多时候依赖装乱了,直接装TensorRT会出现一堆依赖不存在的问题,因此需要按照顺序一步一步安装 ...

开发实战:使用Spdlog管理调试信息

此前写代码,习惯性 std::cout 和 std::cerr 这种直接可视化的打印,然后满屏密密麻麻的打印信息,而如果不需要了,就会在代码大段大段的注释,非常不美观,甚至可以说是一堆堆💩。。。 ...