我有一个基于Visual Studio C ++的程序,它使用预编译的头文件( stdafx.h )。 现在我们使用gcc 4.x将应用程序移植到Linux上。 问题是如何在两种环境下处理预编译的头文件。 我GOOGLE了,但不能得出结论。 很显然,我想在Visual Studio中保留stdafx.h ,因为代码库相当大,预编译头文件提高了编译时间。 但问题是在Linux中要做什么。 这是我发现的: 保持stdafx.h 。 gcc编译代码的速度比VC ++快得多(或者只是我的Linux机器更强大… :)),所以我可能对此选项感到满意。 从这里使用方法 – 使stdafx.h看起来像( USE_PRECOMPILED_HEADER为VS设置USE_PRECOMPILED_HEADER ): #ifdef USE_PRECOMPILED_HEADER … my stuff #endif 使用这里的方法 – 用/FI编译VC ++ 隐式地在每个cpp文件中包含stdafx.h 。 因此,在VS中,您的代码可以很容易地进行编译,而无需预编译头文件,也不需要更改代码。 我个人不喜欢依赖和stdafx.h混乱正在推动一个大代码基地。 因此,这个选项对我很有吸引力 – 在Linux上你没有stdafx.h ,但仍然可以通过/FI打开VS上的预编译头文件。 在Linux上,只将stdafx.h编译为预编译头文件(模仿Visual Studio) 你的意见? 还有其他方法来处理这个问题吗?
stdafx.h文件的目的是什么,以及预编译头文件的含义是什么?
当我在VS2010中启动一个项目时,stdafx.h自动生成。 我需要做跨平台的C ++库,所以我不/不能使用这个头文件。 这个是来做什么的? 我可以删除这个头文件吗?