clang - LibTooling:从编译器命令行动态创建编译数据库
问题描述
我想制作一个 LibTooling 工具,它采用与 clang 完全相同的编译字符串。例如
clang a.c -O3 b.c -I/myinclude -DMY_DEFINE c.c
. 应该替换为my-tool a.c -O3 b.c -I/myinclude -DMY_DEFINE c.c
clang 文档官方建议在基于 LibTooling 的工具中解析参数的方法是CommonOptionsParser。它需要不同格式的命令行字符串,默认情况下依赖于 compile_commands.json 文件。如果我将所有源文件放在前面,然后将所有其他文件放在后面,我可以模拟所需的行为,如下所示--
:my-tool a.c b.c c.c -- -O3 -I/myinclude -DMY_DEFINE
是否可以在不使用 llvm/clang API 对参数字符串进行黑客攻击的情况下实现这一点?
解决方案
推荐阅读
- java - Java android将徽标移动到左上角
- c# - Unity C# - 跳跃时移动角色
- python - URL Builder TypeError error() 正好采用 1 个参数(给定 0)
- c# - 合并多个选定列表的模型或结果
- tensorflow - 当我同时使用 tensorflow 和 keras 时出错了?
- javascript - 如何在不重新加载页面的情况下刷新 mat-table 的数据
- javascript - 如何写出三角形的面积和周长
- firebase - 如何集成 firebase-auth 来验证电话号码
- elasticsearch - 无法启动弹性搜索 2.2.0
- python - I can't think of a way to aviod dynamic variable in this case