2015-01-06 4 views
0

У нас есть базовый код, который мы используем во многих проектах с двумя основными «частями», XL и DP. Вы можете создать новый проект, который использует DP без XL или XL без DP. Но когда вы используете оба вместе, вы хотите, чтобы они знали друг о друге, который мы используем ряд условных для ...VB #const,/const и т. Д.

#if AmUsingDP then 
... additional amazing functionality here ... 
#end if 

Обычно эти условные устанавливаются с помощью дополнительных параметров компиляции. Но это означает, что каждый раз, когда мы создаем новый проект, вам нужно проскальзывать через настройки, которые являются основными PITA.

В C просто один элемент #define в одном из файлов, а затем просто импортирование этого файла в ваш проект - это все, что вам нужно сделать.

Я думал, что, возможно, #const справится с этим, но это локально для файла, что является противоположностью того, что я хочу. Я видел документацию по/define, но это то, что даже работает внутри файл? Есть ли что-то похожее на #define C, которое мы можем использовать?

ответ

1

В Visual Studio вы можете управлять конфигурациями, то есть добавлять новые конфигурации помимо Debug и Release и определять различные пользовательские константы компиляции для каждого из них. У вас могут быть конфигурации, называемые Debug XL, Debug DP, Debug XL+DP, Release XL, Release DP, Release XL+DP таким образом, чтобы вы не забыли установить константы.

Вы также можете определить различные аргументы командной строки в конфигурациях. Это было полезно в одном из моих проектов, где приложение можно было запустить в разных режимах с помощью аргументов командной строки.


Если вы используете одни и ту же конфигурацию в различных проектах, рассмотреть вопрос о создании project templates.

+0

Этого решение просто перемещает вещь, которую я забуду от одного диалогового окна к другому. Теперь вместо того, чтобы помнить о настройке параметров расширенной компиляции, я должен помнить о настройке другой конфигурации сборки, которая, как я подозреваю, еще больше работает. Неужели нет способа сделать это НА ФАЙЛАХ? –

+0

Я понимаю, что в ретроспективе я использовал сомнительное описание, которое привело к этой путанице. Я отредактировал исходный вопрос. –

+0

Преимущество различных конфигураций заключается в том, что перед вами отображается активная настройка, вместо того, чтобы иметь ее в скрытом месте. –

Смежные вопросы