我们可以在Unix编译器中使用wmain()函数,还是只能在\ windows上使用?我们可以在Unix编译器中使用wmain()函数,还是只能在Windows上工作?
10
A
回答
9
为main
的唯一标准的签名是:
int main(void);
int main(int argc, char *argv[]);
然而,一个独立的实现可以提供扩展/允许其他签名。但这些不是可携带的。 wmain
看起来像一个Windows/VS的东西。这对于一个* nix/GNU GCC没有太大的机会。
2
wmain()是windows特有的。就像_tmain,如果该事项...
9
的wmain
签名在Windows的存在是为了处理宽字符的命令行参数。通常,虽然Windows应用程序更喜欢UTF16,但Unix应用程序更喜欢使用UTF8进行Unicode字符串编码。 UTF8使用常规的char
字符串,因此标准main
签名就足以支持可识别Unicode的Unix应用程序。
如果你想不需要Unicode的命令行参数的便携式控制台应用程序,使用main
。如果您确实需要Unicode命令行参数,那么您需要预处理器指令来启用适用于每个环境的签名。
如果你是一个跨平台的GUI应用程序,使用一个特殊的框架,像QT。
相关问题
- 1. 我们应该使用宏,内联函数还是只是普通函数,并相信编译器?
- 2. 我们可以在Windows上编译目标c吗?
- 3. WebService可以工作并行还是只能工作?
- 4. 是否有可能在Windows上使用Clang编译C++?
- 5. 是否可以在Windows上使用Mono静态编译?
- 6. 如果我预编译,资产只能在dev中工作
- 7. 只能在一个编译器中工作的代码
- 8. 我可以在Windows RT和Windows Phone上编译代码8
- 9. Unix代码只能在一台服务器上工作
- 10. php move_uploaded_file只能在Windows 7上工作
- 11. 编译器能否优化调用函数以及可能的副作用?
- 12. Asp.net 3.5仍然使用2.0编译器,所以我们只是下降3.5 dll的,它的工作原理?
- 13. 我们应该在我们的webapp上使用Pylons还是PHP?
- 14. timespec在Windows编译器上
- 15. 是否有Java程序片段可以在JRE 6上使用Java 5编译器进行编译,但是不能使用Java 6编译器进行编译?
- 16. 我们可以在Java中的函数中调用函数吗?
- 17. 编译的Matlab函数只能工作一次
- 18. 在Windows上使用Tiny C编译器编译并运行file.c
- 19. 我可以在Android上使用MySQL还是必须使用SQLite?
- 20. 编译器是否只编译可以执行的代码?
- 21. Bootstrap CSS和JS我必须将它们包含在单独的文件中还是可以编译它们?
- 22. 在Unix上为OpenVMS编译
- 23. 为什么MySql Connector.Net可以在我的Windows机器上工作,但不能在Mono上工作?
- 24. 以编程方式检测共享驱动器是在UNIX还是在Windows操作系统
- 25. 我们可以使用GPIO_PinAFConfig函数在STM32L1上作为输出引脚吗?
- 26. 如何在Windows编译器和GCC编译器中使用SSE?
- 27. 编译旧的C++ unix应用程序在Windows中使用
- 28. 我可以让我的编译器在每个函数的基础上使用快速数学吗?
- 29. 是否可以在引号中使用编译器指令?
- 30. 是否可以在gcc编译器中使用clang std库?
'git'不是编译器。 – kennytm 2010-03-13 12:27:03