Can we use wmain() functions with Unix compilers or it'll work only on\for windows?
相关问题
- Sorting 3 numbers without branching [closed]
- Multiple sockets for clients to connect to
- How to compile C++ code in GDB?
- Why does const allow implicit conversion of refere
- thread_local variables initialization
The only standard signatures for
main
are:However, a freestanding implementation can provide extensions/allow other signatures. But those are not guranteed to be portable.
wmain
looks like a Windows/VS thing. There's not much chance this will work on a *nix/GNU GCC.wmain() is windows-specific. Just like _tmain, if that matters...
The
wmain
signature exists in Windows to handle wide-character command line arguments. Generally, while Windows applications prefer UTF16, Unix applications prefer UTF8 for Unicode string encoding. UTF8 uses regularchar
character strings, so the standardmain
signature suffices for Unicode-aware Unix appications.If you want to make a portable console application that does not require Unicode command line parameters, use
main
. If you do need Unicode command line parameters, then you need preprocessor directives that will enable the signature appropriate to each environment.If you are making a cross-platform GUI application, use a special framework, like QT.