Home avatar

Lixp 的 Blog

Rime输入法安装

使用雾凇拼音方案(Rime-ICE), Rime-ICE 是社区维护的 Rime 配置, 项目地址为 https://github.com/iDvel/rime-ice , 集成了很多常用功能, 支持双拼和全拼, 由于会经常更新, 所以用户自己对配置文件直接修改会在更新时被覆盖掉, 所以推荐用 Rime 中对配置文件 Patch 的机制来嵌入自己的配置内容, Rime 官方文档的配置规则为以下内容:

Git 基本配置

Windows 可以在 https://git-scm.com/ 下载安装, Linux 一般发行版都自带 Git .

使用 ssh-keygen 命令可以生成 ssh-key , 在 Windows 和 Linux 一般都是自带的, 终端运行后可以交互式生成, 没有特殊需求直接按三次回车即可.

ArchLinux 安装配置

这里选择 EndeavourOS , 它是一个 Arch Linux 的发行版, 安装更加方便, 初始安装自带桌面, 方便进行后续操作, 同时接近上游, 不像 Manjaro 一样对 Arch Linux 有很多改动.

安装时注意选择 Btrfs + Grub . 推荐离线安装直接可以安装 KDE 版本.

Rust交叉编译和静态链接

如果依赖不包含C/C++依赖, Rust的交叉编译非常简单, 例如需要编译aarch64平台的静态链接产物, 只需要:

  1. rustup target add aarch64-unknown-linux-musl, 添加相关工具链 (*-musl为静态链接版本, 而aarch64-unknown-linux-gnu一般为编译动态链接的目标, 具体差异可以查询"gcc vs musl")
  2. cargo build --release --target aarch64-unknown-linux-musl, 编译产物
  3. 传输到目标平台后, 使用ldd <filename>即可检查是否有动态依赖, 输出statically linked即为成功静态链接

例如Rust中比较流行的HTTP客户端reqwest, 可以指定替换底层的OpenSSLrustls-tls, 规避C代码依赖, 在Cargo.toml中添加如下features:

不使用中间变量交换值

如有 a,b 两个变量, 思路是先某种运算使 a 储存 a,b 的全部信息, 然后用 b 与 a 进行逆运算使 b 得到 a 的初始值, 然后用 a 与 b 逆运算赋值给 a.

用群论的说法是: 或运算的集合 G_or({1,0},or) , 与运算的集合G_and({1,0},and)