strtok 的一个可能被忽略的细节

最近帮他们查了一下线上出现了一个神奇的 bug,先加载A库再加载 B 库 和 先加载 B 库再加载 A 库,会有不一致的行为,看起来不一致的行为是环境变量引起的,仔细排查了发现是strtok引起的,运行时会偷偷抹掉原本的字符串,稍微科普一下。

继续阅读“strtok 的一个可能被忽略的细节”

CMake多模块的构建方式

前些天用 C 和 CPP 写了一个较为大型的项目(可能也没有那么大型),其中模块间有相互依赖关系,配环境时候卡了很久,主要是对 CMake 的多模块不熟悉,查资料、抄 llvm、瞎测搞出了一些规律,本文不保证很准确,选择性地阅读。

本文不保证很准确,请选择性地阅读。

继续阅读“CMake多模块的构建方式”

git三个小技巧:合并commit,删除已经被合并的分支,维护单向依赖的两个分支

今天准备整理一下git仓库,准备下一期的开发,写一下中间新学到的几个技巧。

继续阅读“git三个小技巧:合并commit,删除已经被合并的分支,维护单向依赖的两个分支”