Friday, May 11, 2007

居然把VS2005搞崩了

学Windows API编程,照书上抄了一个例子,用VS2005,居然一编译就报错(是VS运行错误,不是我的代码编译错误)退出。

后来逐步排除,确定是资源文件中的菜单项名用了宽字符串导致的(L"..."),改成窄字符后正常编译。

目前对windows程序的字符编码不是很了解。在cpp里写的窗口标题什么的都是用宽字符的,为什么在资源文件里就要用窄字符呢?宽字符好像对应的是unicode编码,而窄字符是ascii。

看来VS还是挺多bug的嘛,这么容易就搞崩了。虽说我的代码可能写得有问题,但他应该报错而不是崩掉啊。我的代码作为他编译器的输入,无论写成什么样都不应该让编译器崩掉。不过也可能崩的是IDE而不是编译器,我还没试过命令行编译这个问题代码,也不想试了。

No comments:

 
/* google analytics */