Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual Studio C+中的调试和Unicode调试之间有什么区别+;项目配置?_C++_Visual Studio - Fatal编程技术网

C++ Visual Studio C+中的调试和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

我在VisualStudio 2013中有一个C++项目,其可用配置是调试和发布。如果我分别将配置更改为Unicode调试和Unicode发布,那么会有什么不同?会有什么问题吗?如何更改它?

不同之处在于Unicode版本将定义
Unicode
预处理器变量:这将导致所有通用字符类型TCHAR变为wchar\t(在ansi模式下,它们是char)


此外,调用unicode api函数而不是ansi函数(例如,对于
SetWindowText()
,调用
SetWindowTextW
而不是
SetWindowTextA

这是一个调试问题还是您正在考虑编写程序,以便将其设置为在Ascii或unicode模式下运行,在这种情况下,您需要为变量和函数使用基于类型。创建一个新项目。您在该项目中看到“Unicode调试”和“Unicode发布”了吗?我在VisualStudio Express中没有,但它们可能在完整版本中?我怀疑它们是由创建项目的人定义的。可能它们只是定义了
UNICODE
UNICODE\ucode>预处理器符号,这是默认的。您可以根据需要命名配置。这只是一个名字,它不能保证什么。更改相应的设置完全取决于您。最明显的方法是,如果创建“Unicode调试”配置,那么最好将“调试”配置的字符集设置从Unicode更改为多字节。