分类: compiler
2020年1月25日
gcc 编译选项
最近常用的 GCC 编译选项:
g++ -std=c++14 -Wall -Wextra -Werror -Wfatal-error -pedantic-error
其中:
-std=c++14
, 使用 C++14 的标准-Wall
, 打开大多数编译警告选项-Wextra
, 打开额外的编译警告选项-Werror
, 将编译警告转为编译报错,进而退出编译过程-pedantic-error
, 如果有违背 ISO C++ 标准, 有使用了语言扩展, 旧的语言特性等情况时, 都会报错
2019年8月17日
编译 LLVM 项目
最近开始研究 llvm 项目了. Rust 编译器也是基于它实现的.
LLVM 项目本身有多个子项目组成:
- llvm, 编译器
- lldb, 类似 gdb 的调试工具
- clang, c/c++ 编译器前端
- libcxx, c++ 标准库实现, 质量很棒, 可读性比较强
- polly, 用来做数据计算优化
- openmp, c/c++/fortran 并行计算库
首先是下载源代码, llvm 项目在 github 上面有完整的源码镜像:
$ git clone https://github.com/llvm/llvm-project