我们可以使用wmain()函数与Unix编译器或者它会仅在Windows上工作?
-
19-09-2019 - |
题
我们可以使用wmain()函数与Unix编译器或者它会在\仅可在Windows?
解决方案
有main
的唯一标准签名是:
int main(void);
int main(int argc, char *argv[]);
然而,一个独立的实现可以提供扩展/允许其他签名。但是,这些并不存在保证可移植。 wmain
看起来像一个Windows / VS事情。没有太多的机会,这将在* nix / GNU GCC工作。
其他提示
在wmain
签名在Windows中存在以处理宽字符命令行参数。一般情况下,而Windows的应用程序更喜欢UTF16,Unix应用程序更喜欢UTF8为Unicode字符串编码。 UTF8使用常规char
字符串,所以标准main
签名足够用于识别Unicode的Unix appications。
如果你想不需要Unicode的命令行参数,使用main
便携式控制台应用程序。如果你需要的Unicode命令行参数,那么你需要预处理指令,使适合于各种环境中的签名。
如果你正在跨平台的GUI应用程序,使用一个特殊的框架,像QT。
wmain()是特定于Windows的。就像_tmain,如果该事项...
不隶属于 StackOverflow