标题:关于main的一个问题
只看楼主
ppfly
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:297
专家分:1956
注 册:2009-5-17
结帖率:83.33%
已结贴  问题点数:20 回复次数:2 
关于main的一个问题
问题是这样的,C标准里main()的参数只有两个,分别是int argc, char* argv[],但是网上有一个关于“数字雨”的代码(在百度里搜“数字雨 C代码”就可以看到),这个代码主程序入口是int main(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow),我试过,这个代码是可以运行成功的(当然必须要求新建的是console application),但是众所周知,这里的四个参数是windows程序下int APIENTRY WinMain的参数,为什么放在main()里也可以运行成功?请高手解释下~~谢谢~(VC编译器)
搜索更多相关主题的帖子: main 
2010-05-25 23:48
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
得分:5 
我的猜测是WinMain可能在底层实现的时候就是通过main来实现的所以上述情况也能运行。

南国利剑
2010-05-26 00:04
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
得分:15 
这是windows编程的main函数。其实,在main函数之前都还会执行一段C代码,然后再通过函数调用调用main函数,只是这段C代码一般是由编译器提供的,主要是负责一些环境配置,命令行参数复制等。所以,main函数的参数是可以改变的,当前,前提是调用main函数的参数要匹配。
2010-05-26 12:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-308183-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.312262 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved