Skip to content

2023

使用Dockerfile和CMake编译LLVM程序

引言

Docker是非常方便使用的虚拟容器技术,为自己的项目或程序提供一个Dockerfile文件可以快速的建立对应的开发或部署环境,减少因为环境或工具链缺失而痛苦、漫长的前期准备工作。

LLVM是备受瞩目的编译器项目,提供了一系列工具链,但要将其引入自己的代码中进行编译的过程却也不是那么容易,甚至会导致很多人放弃尝试。

这篇通过Dockerfile建立一个开发环境,然后在这个环境中通过CMake配置以顺利使用LLVM工具链完成项目构建,以后想继续学习或使用LLVM就可以在这个环境中拿这个模板直接操作了。

用readline库改进REPL交互体验

The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.

引言

GNU readline库是广泛使用的C语言库,在EmacsVi中都有使用到:

这篇将使用此库建立一个简单的REPL,具备一定的交互能力,然后通过默认配置文件以支持中文输入。