-
-
[求助]VC6工程向VC9转换遇到问题;
-
发表于:
2009-1-2 00:37
5664
-
原来是用VC6写的MFC程序,现在新装了VC9,想向VC9转换,结果出现一些问题;
转换到VC9后,工程属性里指定了使用Unicode字符集;如下代码:
TCHAR Path[MAX_PATH];
GetModuleFileName(NULL, Path, MAX_PATH );
lstrcat(Path, ....);
PathFileExists(Path);
奇怪的是,编译器把TCHAR解释为char, 顺理成章地, 把GetModuleFileName解释为GetModuleFileNameA, 把lstrcat解释为lstrcatA, 可是我明明已经在工程里指定了使用Unicode字符集,结果不知道是什么原因导致VC9无视这个设置;
你别以为编译器会把PathFileExists解释成PathFileExistsA, 编译器却偏偏把PathFileExists解释成Unicode版本的 PathFileExistsW ! 我糊涂了..... 这样,很自然就说这个函数的参数类型不对,编译错误;
不明白其中的奥妙何在,有谁碰到这种情况吗?
[课程]Android-CTF解题方法汇总!