JBe*_*ley 26 c++ compilation multiprocessing visual-studio
在Visual Studio for C++项目中使用"多处理器编译"选项时,我应该注意哪些缺点,副作用或其他问题?或者,用另一种方式表达问题,为什么在Visual Studio中默认关闭此选项?
Cor*_*lks 18
不兼容的选项和语言功能
该/MP选项与某些编译器选项和语言功能不兼容.如果对/MP选项使用不兼容的编译器选项,则编译器会发出警告D9030并忽略该/MP选项.如果使用不兼容的语言功能,编译器会发出错误C2813结束或继续,具体取决于当前编译器警告级别选项.
注意:
大多数选项都不兼容,因为如果允许它们,并发执行的编译器会将它们的输出同时写入控制台或特定文件.结果,输出将混合并出现乱码.在某些情况下,选项的组合会使性能变差.
它提供了一个表格,列出了与以下内容不兼容的编译器选项和语言功能/MP:
#import预处理程序指令(将类型库中的类型转换为C++类,然后将这些类写入头文件)/E,/EP(将预处理器输出复制到标准输出(stdout))/Gm(启用增量重建)/showIncludes(将包含文件列表写入标准错误(stderr))/Yc(写一个预编译的头文件)
/MPVisual Studio 允许您手动禁用/阻止这些功能并启用,而不是默认禁用其他选项(并默认启用)/MP.
EdC*_*ica 10
根据我们的经验,发现的主要问题是:
但是,以上是您可以解决的配置问题,否则应该启用它,因为它将加快构建.
因为多处理器编译与许多其他编译选项不兼容,并且还具有更高的系统资源使用率.应由开发人员决定是否值得他.您可以在此处找到完整的文档:http://msdn.microsoft.com/en-us/library/bb385193.aspx
| 归档时间: |
|
| 查看次数: |
12019 次 |
| 最近记录: |