Win32的启动过程

来源:互联网 发布:c语言编译软件 编辑:程序博客网 时间:2024/06/06 08:34

 操作系统调用CreateProcess函数创建进程内核对象——初始化使用计数——为新的进程创建一个虚拟地址空间,加载应用程序运行所需的代码和数据——创建主线程——调用C/C++运行期启动函数,启动代码又会调用main函数——返回CreateProcess的值

系统在创建新进程时会为新进程指定一个STARTUPINFO类型的变量,进程可以调用GetStartupInfo函数来获取父进程在创建自己时 使用的STARTUPINFO结构。
定义了STARTUPINFO结构的对象以后,必须将对象的cb成员初始化为STARTUPINFO结构的大小。
STARTUPINFO si={sizeof(si)};//其他成员初始化为0
::GetStartupInfo(&si);