windows下main启动函数

一、_initterm函数

_initterm 函数的作用就是遍历一个特定的函数指针数组,并依次调用数组中每一个非空的函数。它的典型实现如下:

void __cdecl _initterm (_PVFV * pfbegin, _PVFV * pfend)
{
    // 从起始地址遍历到结束地址
    while ( pfbegin < pfend )
    {
        // 如果当前函数指针不为空,就调用它指向的函数
        if ( *pfbegin != NULL )
            (**pfbegin)(); // 执行初始化函数
        ++pfbegin; // 移动到下一个指针
    }
}

 二、__p__acmdln

CRT会解析 __p__acmdln 提供的原始命令行字符串(_acmdln),将其拆分成方便使用的 argc(参数个数)和 argv(参数数组)。最终,这些处理好的参数会被传递给程序的入口点 main(int argc, char *argv[])

三、__initenv

__initenv 是CRT内部用来存储进程环境变量块指针的全局变量。它指向一个字符串数组,这个数组里存放的就是程序当前所有的环境变量

posted @ 2026-02-27 10:24  hopeccie  阅读(15)  评论(0)    收藏  举报