我有几个非常简单的问题。我在网上搜索了它们,但我找到了不同的答案,所以我只想知道应该遵循哪一个。
所以,首先,我相信WinMain不是C或C++标准的,而是微软添加的,只是为了确定何时加载不同的启动代码,对吗?
其次,WinMain是由OS调用的吗?从某种意义上说,它类似于动态链接,或者它只是像main一样的程序启动点?
我为什么要问?我主要使用C编程MCU。我更倾向于硬件而不是软件,所以我喜欢MCU,我发现它们和为它们编程更“清晰”。
但是当我开始对C语言本身和它的标准产生兴趣时,我发现它很难。我的意思是,例如,在单片机上,你不需要main的int返回类型,以及在win32应用程序中,你需要不同于纯main的启动代码。
所以,我喜欢C,但我发现它的标准版本有点老了。谢谢。
发布于 2010-09-18 05:43:23
我相信WinMain不是C或C++标准的,而是微软添加的,用来决定何时加载不同的
启动代码,对吗?
是。所有的C和C++标准都将main() (并且只有main())定义为程序入口点(尽管它的确切签名可能因语言和标准版本而异)。
第二,WinMain是由操作系统调用的吗?从某种意义上说,它类似于动态链接,或者它只是像
一样的程序起始点?
它实际上是从main()调用的。在Windows程序中也有一个隐藏在WinAPI代码中的main()。
https://stackoverflow.com/questions/3739210
复制相似问题