C++ Visual Studio C+中的调试和Unicode调试之间有什么区别+;项目配置?
我在VisualStudio 2013中有一个C++项目,其可用配置是调试和发布。如果我分别将配置更改为Unicode调试和Unicode发布,那么会有什么不同?会有什么问题吗?如何更改它?不同之处在于Unicode版本将定义C++ Visual Studio C+中的调试和Unicode调试之间有什么区别+;项目配置?,c++,visual-studio,C++,Visual Studio,我在VisualStudio 2013中有一个C++项目,其可用配置是调试和发布。如果我分别将配置更改为Unicode调试和Unicode发布,那么会有什么不同?会有什么问题吗?如何更改它?不同之处在于Unicode版本将定义Unicode预处理器变量:这将导致所有通用字符类型TCHAR变为wchar\t(在ansi模式下,它们是char) 此外,调用unicode api函数而不是ansi函数(例如,对于SetWindowText(),调用SetWindowTextW而不是SetWindowT
Unicode
预处理器变量:这将导致所有通用字符类型TCHAR变为wchar\t(在ansi模式下,它们是char)
此外,调用unicode api函数而不是ansi函数(例如,对于
SetWindowText()
,调用SetWindowTextW
而不是SetWindowTextA
)这是一个调试问题还是您正在考虑编写程序,以便将其设置为在Ascii或unicode模式下运行,在这种情况下,您需要为变量和函数使用基于类型。创建一个新项目。您在该项目中看到“Unicode调试”和“Unicode发布”了吗?我在VisualStudio Express中没有,但它们可能在完整版本中?我怀疑它们是由创建项目的人定义的。可能它们只是定义了UNICODE
和UNICODE\ucode>预处理器符号,这是默认的。您可以根据需要命名配置。这只是一个名字,它不能保证什么。更改相应的设置完全取决于您。最明显的方法是,如果创建“Unicode调试”配置,那么最好将“调试”配置的字符集设置从Unicode更改为多字节。