利用 CMake 在 C\C++ 中嵌入资源

在程序中嵌入资源是很常见的需求,资源可以是 GLSL Shader、LICENSE/EULA 文本、预定义公钥、图标图片等等。特定的平台和SDK里,会有特定的接口和工具来导入管理这些资源,比如 VC 的rc、QT 的 qrc,或者直接使用文件读写、dlopen/dlsym 来加载外部资源。对于C\C++而言,可以直接将资源转换成字符串字面量或数组,嵌入到程序中使用,本文即讲解如何在 cmake 构建中方便的嵌入各种资源。

自动使能 CAN 总线

Linux 上 CAN 总线接口以网络设备形式呈现,默认系统启动时 CAN 总线处于 DOWN 模式,需要手动使用 ip 命令配置并使能 UP。但也可以使用系统 network 的 interfaces 式文件来实现 CAN 总线自动化配置和激活。

Linux To Go 系统优化

本文主要讲述如何优化配置 U 盘上安装的 Debian/Linux 系统,使其适配各种硬件主机并优化 U 盘上性能。

在高速 U 盘上安装 Linux 系统随身携带使用是很方便的事情,这跟 LiveCD 模式不同,所有的系统配置和文件都是随盘保存,不会随着重启重置,也不会因为更换机器而产生差异。

Nuklear 界面库使用

Nuklear 是一个 C 编写的、只有头文件的 GUI 界面库,也是 imgui 类的界面实现工具,支持多种渲染后端,包括 gdi/gdi+/D3D/X11/Xft/SDL/opengl 等,特别适合跨平台和工具软件的界面实现。

CORS 中继程序

随着 CORS 全国一张网的运行,类似千寻这样的网络差分在实际运用中越来越普遍。这里开源一个可以中继重分发已有 CORS 服务的程序 cors-relay.

U盘Linux系统在任何PC上启动

将系统安装在U盘中随身携带使用已经很容易了,比如 Windows 就有 Windows To Go。将系统装在U盘上需要一个寿命长久的U盘,而且随机读写性能要强。

Linux 发行版都提供 Live ISO 镜像,也可以将系统直接装载 U盘上,但很多时候安装后的U盘可以在安装的 PC 上启动,换一个 PC 就无法启动了。这篇文章就讲述如何解决其他 PC 上启动的问题。