C++:制作一个没有包含的文件
C++: making a single file without includes
这听起来像是一个很奇怪的问题,但我确实需要这个:我有一堆 c++ 头文件(来自一些仅头文件库)和一个 cpp 文件。我想做的是生成一个没有任何包含内容的 cpp 文件。
为什么?对于一个竞赛,其中编译器没有我正在使用的一些库,并且您只能提交一个 cpp 文件。
理想情况下,这个"脚本"将创建一个仅使用实际需要的文件,而不仅仅是递归复制和粘贴所有"#includes"。
我敢肯定,当您在代码中添加"#include"时,预处理器会生成一些文件。那么,我如何查看这些中间文件和(可能很长)文件?
-
GCC 提供了
-E
选项,因此它在预处理文件后停止。该文档包含更多可应用于预处理器的选项。 -
Clang也接受
-E
,如这里所述。 -
Visual Studio 提供/P(预处理到文件)编译器开关。它指示编译器:
预处理 C 和C++源文件,并将预处理的输出写入文件。
输出将写入文件名基于扩展名为 .i 的源文件的文件。若要指定其他文件名,请使用/Fi(预处理输出文件名)编译器开关。
-
如果您传递
-E
选项(输出到stdout
)或-P
(输出到文件),英特尔C++编译器将在预处理后停止。在Windows上,这些将分别是/E
和/P
开关。该手册对此提供了更多信息。
相关文章:
- 我可以创建一个包含两个变量的 for 循环,但时间复杂度仍然为 O(n) 吗?
- 在 c++ 中,有一种方法可以创建一个包含地图作为值的树状地图?
- 创建一个包含 c++ 默认值的环境文件
- 有没有办法生成一个包含平方的序列,这些平方加起来就是一个整数平方?
- 如何在 c++ 项目中包含一个包含所有头文件?
- Atmel Studio:返回一个包含数组的寄存器
- 创建一个包含30亿个uint8元素的向量
- 如何创建一个包含三种不同类型的向量的向量
- 我需要声明一个包含整数向量的 4x4 矩阵
- 为Qt项目的每个模块添加一个包含
- 给定一个包含 n 个整数和一个整数 x 的未排序数组 A,重新排列 A 中的元素
- 我有一个包含几个重复元素的数组,我想找到最接近数组末尾的重复元素的索引
- 创建一个包含对 <int、自定义类的最小堆>
- 如何从另一个包含目录中的标头访问包含目录中的标头
- 从c#lib返回一个包含字符串到c 程序的结构
- 如何正确创建一个包含由不同类的实例组成的联合的类?
- 制作一个包含 2 个 .cpps 和一个头文件的生成文件
- 我们可以制作一个包含对的数组吗
- 是否有一个包含std::unique_ptr的c++标准库实现可以与visualstudio2008一起使用
- 我正在尝试读取一个包含字符串和整数的二进制文件..并打印出与字符串对应的整数