【发布时间】:2014-09-13 15:12:43
【问题描述】:
首先,很抱歉,如果标题选择得不是很好,但我不知道如何处理这段代码,当使用 Visual Studio 2013 编译为 C 时显示一些奇怪的东西。
代码是:
#include <windows.h>
#include <stdafx.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL, "Hello World!", "Note", MB_OK);
return 0;
}
而且,结果是:
我有来自 MSDN 的 MS Visual Studio 2013 Original Genuine。 还有,我不是中国人。 IDE的界面是英文的。
【问题讨论】:
-
这是怎么编译的?宽字符串和窄字符串不是兼容的类型。给 winapi 函数提供宽字符串。
-
我从教程中复制粘贴了这段代码(没有 stdafx.h 标头)(如果需要,我会提供链接)。我试图编译它,但我得到一个错误 c1010。然后,我添加了那个头文件,它编译成功了。
-
stdafx.h也应该是包含的第一个标头,所以我不确定它是如何编译的。当然,对于 hello world 应用程序来说,使用预编译的头文件是毫无意义的。该教程可能也没有定义UNICODE,这在使用winapi时是一件非常糟糕的事情。 -
我也想过 UNICODE。谢谢您的回复。我会坚持其他教程。
标签: c++ visual-studio debugging visual-studio-2013