【发布时间】:2013-03-19 10:01:13
【问题描述】:
我正在使用 Visual Studio 2010 处理一个 c++ 多平台项目,所有平台之间有一个共享的代码部分,但有很大一部分是专用于每个平台的,我使用 #if def 将它们分开,但事实证明,代码维护变得非常糟糕,代码杂乱无章,此外还有一些问题,例如代码在某些定义打开或关闭时无法编译。
是否有任何用于 Visual Studio 的插件或工具有助于开发多平台项目,例如隐藏与平台相关的代码,或使用打开/关闭的不同#defines 进行编译,检查数据类型等。
如果有人有建议,我将不胜感激
【问题讨论】:
-
使用
if (kFeatureFoo)而不是#if kFeatureFoo通常会有所帮助:这意味着编译器仍然需要检查代码是否是有效的 C++,并且仅由优化器完成删除(无法消除的代码消除是一种常见的、稳健的优化)
标签: c++ visual-studio-2010 debugging embedded multiplatform