2015-08-18 2 views
1

У меня есть проект на C++ в Visual Studio 2013, доступными конфигурациями которого являются Debug и Release. Если я изменю конфигурации на Unicode Debug и Unicode Release соответственно, то что будет по-другому? Будут ли какие-либо проблемы? Как я могу это изменить?В чем разница между Debug и Unicode Debug в конфигурации проекта Visual Studio C++?

+0

Это вопрос отладки или вы рассматриваете написания программы, поэтому он может быть настроен на запуск в режиме Ascii или Unicode, и в этом случае вам необходимо использовать типы, основанные на [tchar] (http://msdn.microsoft.com/en-us/library/office/Cc842072.aspx) для переменных и функций. – rcgldr

+1

Создайте новый проект. Вы видите «Unicode Debug» и «Unicode Release» в этом проекте? Я не в Visual Studio Express, но, может быть, они есть в полной версии? Я подозреваю, что они определены тем, кто создал проект. И, возможно, они просто определяют символы препроцессора UNICODE и UNICODE_, которые по умолчанию все равно. –

+1

Вы можете назвать конфигурацию, что угодно. Это просто имя, оно ничего не обещает. Вы можете изменить соответствующие настройки. С наиболее очевидным подходом, что, если вы создаете конфигурацию «Unicode Debug», вам лучше изменить параметр «Набор символов» для конфигурации «Отладка» из Unicode в многобайтовый. –

ответ

2

Разница в том, что версия Unicode будет определять переменную препроцессора UNICODE: это приведет к тому, что все общие типы символов TCHAR станут wchar_t (в режиме ansi они являются char).

Кроме того, функция юникода API называется вместо AnSi один (например, для SetWindowText()SetWindowTextW называются вместо SetWindowTextA)

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