我已将每个功能放在自己的文件中。
如何在不重复每个文件的#include的情况下一次性包含所有这些功能?我不在乎功能的包含顺序。
编辑:数百个不同文件中的所有功能属于同一组。实际上每个文件都有4个函数......
答案 0 :(得分:8)
考虑你的文件。
file1.h
int plus(int a, int b);
file2.h
int minus(int a, int b);
file3.h
int mult(int a, int b);
file4.h
void drawcircle(int r, int xc, int yc);
file5.h
void drawsquare(int x0, int y0, int x1, int y1);
file6.h
void printresults();
现在将文件分成几组。制作以下文件。
math_funcs.h
#include "file1.h"
#include "file2.h"
#include "file3.h"
draw_funcs.h
#include "file4.h"
#include "file5.h"
output_funcs.h
#include "file6.h"
然后制作all.h
文件。
<强> all.h 强>
#include "math_funcs.h"
#include "draw_funcs.h"
#include "output_funcs.h"
答案 1 :(得分:2)
使用预建步骤并执行如下所示的批处理文件:
@echo off
setlocal
set file=test.h
echo // generated > %file%
for %%f in (*.h) do echo #include "%%f" >> %file%
然后包括test.h。
在VS2008中,您可以在“项目” - “属性” - “配置属性” - “构建事件” - “预建事件”中添加预建步骤。
将“命令行”设置为 $(PROJECTDIR)\ TEST.CMD 并将test.cmd(带有上述条件)复制到项目目录。
答案 2 :(得分:1)
答案 3 :(得分:0)
是C
还是C++
问题?
在C ++中,您通常每个类都有文件,而不是函数。如果在每个课程中有一个.h和.cpp文件后,你仍然有数百个在一个目录中,你需要重新考虑你的设计。您可能需要更多的抽象层,并且可以将文件分成几个目录。