unicode环境下主函数为什么可以写main而不是wmain?

virgil0236 2010-12-11 04:25:15
如题,不会是自动的吧?自动应该是有_tmain这个宏完成的。
...全文
171 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
virgil0236 2010-12-11
  • 打赏
  • 举报
回复
从windows nt开始,调用用ansi版的api,该版本的api在内部又会将ansi字符转成unicode字符,然后再转而调用unicode版的api,所以效率低下,不推荐使用,这是《windows核心编程》里面说的。
bravery36 2010-12-11
  • 打赏
  • 举报
回复
差不多吧,就算是定义了unicode,一般可以用ansi版的api,只要显式地在后面加a就行了,同理平时不用unicode的时候一样可以在api后加w使用unicode版的api。
virgil0236 2010-12-11
  • 打赏
  • 举报
回复
我自己总结了一下,不知道对不对,大家看一下:

visual studio中的unicode编码设置只是针对调用windows api函数来说是有意义的,WinUser.h中已经做好了宏定义,调用哪个版本的API将被自动判定,而
实际上在自己的代码中用不用unicode类型的字符都是自由的,对于main,wmain,WinMain和wWinmain来说,控制台的main和wmain只能选择其中一个,
唯一的区别只是主函数参数(包括附加参数和环境变量)中的字符类型不一样,WinMain和wWinmain也是一样的,想用哪种主函数随自己喜欢,关系都不大,
注意记得主函数参数的类型就可以了。
bdmh 2010-12-11
  • 打赏
  • 举报
回复
vs自己定的,unicode下 _tmain会被wmain取代,一般情况下会被main取代

24,853

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧