Rel*_*lla 10 c c++ unix widestring wmain
我们可以在Unix编译器中使用wmain()函数,还是只在\ for windows上使用?
dir*_*tly 10
唯一的标准签名main是:
int main(void);
int main(int argc, char *argv[]);
Run Code Online (Sandbox Code Playgroud)
但是,独立实现可以提供扩展/允许其他签名.但那些便携设备并不保证.wmain看起来像Windows/VS的东西.这对于*nix/GNU GCC来说没有多大机会.
Don*_*eba 10
该wmain签名在Windows的存在是为了处理宽字符的命令行参数.通常,虽然Windows应用程序更喜欢UTF16,但Unix应用程序更喜欢使用UTF8进行Unicode字符串编码.UTF8使用常规char字符串,因此标准main签名足以支持Unicode识别的Unix应用程序.
如果要创建不需要Unicode命令行参数的可移植控制台应用程序,请使用main.如果确实需要Unicode命令行参数,则需要预处理程序指令来启用适合每个环境的签名.
如果您正在制作跨平台GUI应用程序,请使用特殊框架,如QT.
| 归档时间: |
|
| 查看次数: |
3405 次 |
| 最近记录: |