作者HZYSoft (PCMan 2004)
看板C_and_CPP
标题Re: [心得] 几个编译器面对"编码"这件事
时间Thu Aug 3 20:19:13 2006
※ 引述《aguai (阿怪)》之铭言:
: : VC跟GCC所谓的"支援Unicode"
: : 事实上仍然是以ansi的方式在建造档案的
不是,是用 utf-8 多位元组格式储存,和 ANSI 相容,但不等於 ANSI
gcc 支援没问题
VC 则要看版本,2005 我不知道,2003 及 2003 以下版本的,都不正常
2003 虽然号称支援,实际上因为有 bug,经常导致无法正常使用
: : 抑或是
: : 我该在什麽地方补上什麽参数吗?
: 我把code::block的editor改成950(就是big5啦)之後
: 在我跟朋友的电脑上都跑正常了
这样是用 big5 储存
: 反而是新到手的VC2005我目前不知道在哪里设定
: 恐怕又有书商要赚到我的钱了
这种事情不用买书,书上也不会教,请看程式的说明档
: 我静下心想想 短期之内我"应该"不会遇到那种
: "日本网友抱怨我的程式显示不正常"之类的事情
会,日文系统根本显示不了 cp950,除非用 Applocale
如果你用 unicode,则是会发生 2000/xp 以下系统无法使用
所以你需要使用 TCHAR 为不同平台编译不同的执行档
这点在你买的书上有可能是没教的,或是你还没看到
你贴的那个猫也会xxx的范例根本不支援 unicode
: char szClassName[ ] = "main"; ///我其实完全不知道定义他是要干嘛
查 msdn
: LPSTR lpsCmdLine, ///感觉上这个参数是以备不时之需而已
不是... 这个参数很常用,是你没在用而已
反而是第二个 HINSTANCE 参数是为了相容 Windows 3.1 才留下的无用垃圾
: ///高手好像都爱用这种招 是打字比较少还是编出来比较快要查
: wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
一般会用 wc.hbrBackground = (HBRUSH)(WHITE_BRUSH + 1); 这个才快
: TranslateMessage(&msg);
: DispatchMessage(&msg);}}
: ///这里应该是个检查按按钮的回圈之类的
不是....
: return (int)msg.wParam;///这个语法真的很烦}
Win32 SDK 本来就很烦....
要写 Windows SDK 程式你就是得认命
就算你用了 BCB 这种好物,还是不免常会需要摸到 Win32 API
--
个人网页:
http://pcman.sayya.org/ 上面有自画像及各种联络资讯
PCMan 全系列 BBS 连线软体
http://pcman.ptt.cc/ http://pcmanx.csie.net/
新酷音输入法 for Windows
http://chewing.csie.net/
IE Tab Firefox plugin/extension
http://ietab.mozdev.org/
PCMan 油画作品集:
http://www.wretch.cc/album/album.php?id=pcman&book=1
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.129.57.142