Я работаю с мультиплатформенным проектом С++, используя Visual Studio 2010, есть общая часть кода для всех платформ, но есть большая часть, посвященная каждой из них, я разделяю их с помощью #if def, но это получается из-за того, что обслуживание кода становится очень сложным, и код загроможден, в дополнение к таким проблемам, как код, который не компилируется с включенными или выключенными некоторыми определениями.
Есть ли какой-либо плагин или инструмент для визуальной студии, который помогает в разработке многоплатформенных проектов, например, скрывает код, связанный с платформой, или компилирует с использованием различных включенных/выключенных #define, проверки типов данных и т. д.
Буду признателен, если у кого-нибудь есть предложение
if (kFeatureFoo)
вместо#if kFeatureFoo
часто может помочь: это означает, что компилятор все еще должен проверить, является ли код допустимым C++, а удаление выполняется только оптимизатором (удаление недостижимого кода — это обычная и надежная оптимизация). - person MSalters   schedule 19.03.2013