我有一个简单的项目,我使用微小的ttmath library进行C ++(大词汇)。 该库包含13 * .h文件。 我以愚蠢的方式包含了所有这些文件:
#include "ttmath\ttmath.h"
#include "ttmath\ttmathbig.h"
#include "ttmath\ttmathdec.h"
#include "ttmath\ttmathint.h"
#include "ttmath\ttmathmisc.h"
#include "ttmath\ttmathobjects.h"
#include "ttmath\ttmathparser.h"
#include "ttmath\ttmaththreads.h"
#include "ttmath\ttmathtypes.h"
#include "ttmath\ttmathuint.h"
#include "ttmath\ttmathuint_noasm.h"
#include "ttmath\ttmathuint_x86.h"
#include "ttmath\ttmathuint_x86_64.h"
正确的方法是什么?我希望smth像这样:
#include "ttmath\*.h"
但找不到......
答案 0 :(得分:1)
预处理器内置了“include all”。它也不接受文件名中的通配符。你必须手动包括所有这些。
一个常见的解决方案是将所有包含放在一个新的.h文件中,并在每次需要所有包含时包含该文件。
答案 1 :(得分:1)
正确的方法是什么?我希望smth像这样:
#include "ttmath\*.h"
但找不到......
这不起作用,因为预处理器不会像你期望通配符一样工作来扩展字符以匹配事物。
我的建议是创建一个自己的自定义头文件,并将所有#include
条目放在那里。例如,在.c
文件中,您可以添加自己的标题:
#include "my_header.h"
my_header.h
的内容将是:
#include "ttmath\ttmath.h"
#include "ttmath\ttmathbig.h"
#include "ttmath\ttmathdec.h"
#include "ttmath\ttmathint.h"
#include "ttmath\ttmathmisc.h"
#include "ttmath\ttmathobjects.h"
#include "ttmath\ttmathparser.h"
#include "ttmath\ttmaththreads.h"
#include "ttmath\ttmathtypes.h"
#include "ttmath\ttmathuint.h"
#include "ttmath\ttmathuint_noasm.h"
#include "ttmath\ttmathuint_x86.h"
#include "ttmath\ttmathuint_x86_64.h"
基本上,你把所有东西放在一个标题中,而不是包含那个。