MSVC CRT入口函数.DOCVIP

  • 18
  • 0
  • 约1.57万字
  • 约 19页
  • 2019-02-11 发布于天津
  • 举报
MSVC CRT入口函数.DOC

MSVC CRT入口函数 相信读者对glibc的入口函数已经有了一些了解。但可惜的是glibc的入口函数书写得不是非常直观。事实上,我们也没从glibc的入口函数了解到多少内容。为了从另一面看世界,我们再来看看Windows下的运行库的实现细节。下面是Microsoft Visual Studio 2003里crt0.c(位于VC安装目录的crt\src)的一部分。这里也删除了一些条件编译的代码,留下了比较重要的部分。MSVC的CRT默认的入口函数名为mainCRTStartup: int mainCRTStartup(void) { ... 这是入口函数的头部。下面的代码出现于该函数的开头,显得杂乱无章。不过其中关键的内容是给一系列变量赋值: ??? posvi = (OSVERSIONINFOA *)_alloca(sizeof(OSVERSIONINFOA)); posvi-dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); GetVersionExA(posvi); _osplatform = posvi-dwPlatformId; _winmajor = posvi-dwMajorVersion; _winminor = posvi-dwMinorVersion; _osver = (posvi-dwBuildNumber) 0

文档评论(0)

1亿VIP精品文档

相关文档