c - C 头文件:没有标准库的宏扩展
问题描述
我正在寻找扩展我在 c 头文件中的宏,但到目前为止我也得到了一个标准库。我的 ~200 行文件扩展为 60k 行文件(其中 ~30k 行是空白),其中我只想使用扩展后的原始 ~200 行。
是否有允许我不扩展标准库的标志?
目前使用的命令:cl myHeader.h /E > __test.h
扩展到我处理的标头中的行参考示例(省略扩展代码):
#line 688 "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\VC\\Tools\\MSVC\\14.16.27023\\include\\string"
我的最终用例是解析扩展的标头,我相信(但不能确定)大多数宏都是#define FOO 42
用于填充数组大小的简单类型扩展。如果我无法cl
停止插入标准库,我还有其他选择吗?
在最坏的情况下,我可以从底部向上工作并将文件剪辑到#line <num> <path>
与我的文件路径不匹配的位置,但这似乎非常不雅。
在 Windows 上使用 MSVC。
解决方案
在上面的评论中感谢@Lundin。
我错误地认为注释掉编译所需的包含会阻碍预处理器。它一点也不在乎。剥离麻烦#includes
是获得宏扩展标头的一种非常简单的方法。它仍然会#line <number> <path>
有空行和空行,但是去掉这些是微不足道的。
推荐阅读
- javascript - 在循环内形成表格的行
- java - 易失性读取冲突
- c# - Firebase GetValueAsync() 如果 task.result 不存在它不执行下面的代码
- javascript - 在jquery和php中过滤搜索时如何解决数据表选择的行
- payment-gateway - 在 WePay 中将付款拆分到不同的帐户
- c++ - 如何使用 c++ 在 sqlite 中插入 wchar?
- django - 尝试发布表单时出现 DetailView 错误
- laravel - Laravel 队列作业不会更新到最新代码
- ms-access - MS Access-如何检查行之间的相等性
- html - 使用 HTML/CSS,如何根据我的图表在现有 HTML 网格上覆盖/定位 Rect