我有一个预编译的头文件,其中包含各种第三方库的包含,例如:
#ifndef PRECOMPILED_H
#define PRECOMPILED_H
#include "booststuff.h"
#include "luastuff.h"
#endif
其中 booststuff.h 和 luastuff.h 是我项目中的头文件,其中只包含各种boost / lua相关内容并设置了一些typedefs / usings / namespace别名
我在visual studio(2012)中以通常的方式设置预编译头,并使用force include选项将其包含在每个cpp文件中。
在cpp文件中,我也非常小心#include“booststuff.h”,我实际上也使用它(我有时会禁用预编译头来测试它)。但是,我最近一直想知道这是不是一个好主意。所以:
如果我再次包含一个已经包含在预编译头文件中的文件会有什么不好的事情发生(我不知道为什么会这样,但我已经看到了有关标题的事情必须以相同的顺序包含“ “,并没有真正明白他们在谈论什么?”
它是否会影响Intellisense(对于一个相当小的项目来说速度非常慢)?我很乐意为了更好的Intellisense而放弃一些可移植性,因为我目前不想切换平台。