![]() |
1
46
最好还是使用预编译头进行最快的编译。 您也可以在gcc中使用预编译头。 See here .
编译的预编译头将有一个扩展名附加为
因此,例如,如果预编译stdafx.h,则会有一个预编译头,该头将自动搜索调用的
例子: STDAFX.H:
A.CPP:
然后编译为:
即使在步骤1之后删除stdafx.h,编译也会工作。 |
![]() |
3
2
|
![]() |
4
2
非常简单的解决方案。 在Linux环境中为“stdafx.h”添加一个虚拟文件条目。 |
![]() |
5
2
我只会在一个大型开发团队中使用选项1。 选项2、3和4通常会使团队中其他成员的工作效率下降,因此 你 一天可以节省几分钟的编译时间。 这就是为什么: 假设一半的开发人员使用vs,一半使用gcc。 有时候,一些vs开发人员会忘记在.cpp文件中包含一个头文件。 他不会注意到,因为stdafx.h隐式地包含了它。因此,他推动了版本控制中的更改,然后GCC团队的其他一些成员将得到编译器错误。 因此,每天使用预编译头文件,每5分钟就有5个人通过修复丢失的头文件而浪费时间。 如果不在所有编译器中共享相同的代码,每天都会遇到这样的问题。如果在推动更改之前强制VS开发人员检查GCC上的编译,那么您将放弃使用预编译头获得的所有生产力收益。 选项4听起来很吸引人,但是如果您希望在某个时间点使用另一个编译器呢?选项4只在您只使用vs和gcc的情况下有效。 注意,选项1可能会使gcc编译遭受几秒钟的时间。尽管它可能不明显。 |
![]() |
6
1
这很简单,真的:
|
![]() |
7
1
自从
|
![]() |
8
1
|
![]() |
9
0
对于跨平台代码,我已经完成了选项2(ifdef)和选项4(pch for gcc),没有任何问题。 我发现gcc的编译速度比vs快得多,所以预编译头通常没有那么重要,除非您引用了一些巨大的头文件。 |
![]() |
10
0
我有一种情况,特别是2不适合我(有许多vs构建配置,其中
我做了什么,给了一个名为
任何给定的项目都只能包含文件的正确版本。诚然,对于仅由单个项目使用的cpp文件,这可能不是最佳选择。 |
|
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
![]() |
Cobra_Fast · 如何查找不必要的空运算符? 3 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 3 年前 |