发信人: wenbobo(无良学生wenbob)
整理人: wenbobo(2003-08-23 10:54:27), 站内信件
|
main函数是由startup函数调用的,赫赫如果startup都不知道参数还有谁知道
startup首先调用系统服务(依赖于操作系统而不同),得到命令行参数,然后转换成argc和argv字符串数组,然后再以argc和argv为参数来调用main
windows应用程序的入口函数是mainCRTStartup/wmainCRTStartup /WinMainCRTStartup/wWinMainCRTStartup,
DLL则是_DllMainCRTStartup
安装vc的时候如果选择了crt辕马,那么你的src目录里面应该有个crt0.c,这个就是exe stub,里面主要是startup函数
【 在 wellbye 的大作中提到:】
:这几天在书上看到一段话,
:说是关于全局对象的构造函数何时被调用的问题,
:书上说,这是由c 的startup code 调用的,而startup code是编译器自动加在你的程序前面的,也就是说在main函数之前,
:那么问题就来了,如果某个全局对象的构造函数带有参数,而这个参数又是从main函数的argv传入的(这在实际情形中很有可能出现啊),那startup code调用其构造函数时,根本不知道其参数是多少,怎么初始化呢??
:
:
:......
---- 掬水月在手
弄花香满身 |
|