|
|
1
5
尽管我同意 GregC 一般来说,有时这类信息是有用的。但这是一个很难在面试中回答的问题(除非是对CLR团队而言:) 网页和博客… 书。。。
|
|
2
15
我认为以下两个链接是了解pe文件结构和windows加载器的好资源。
2002年3月文章的确切引述是,我相信它回答了你的问题:
|
|
|
3
2
简而言之,这已经有一段时间了,所以其中一些可能有点过时了… 对于xp和更高版本,操作系统加载程序经过增强,可以基于pe目录项检测托管程序集,如果目录项存在,加载程序将自动加载mscoree.dll,并跳转到mscoree中的函数,_corexemain(2)用于可执行文件,而_cordlmain用于dll。_然后corexemain负责加载clr并开始执行托管代码。 我用下面的词来提醒自己入口点的名字…
|
|
|
4
0
这个问题很难回答。你得到那份工作了吗?;-) 我知道已经有一段时间了,但是对于任何想要答案的人来说: 答案可以在MSDN中找到: https://docs.microsoft.com/en-us/dotnet/framework/unmanaged-api/hosting/corvalidateimage-function
你可以自己查一下
如果您考虑一下(至少在.net4+中),这必须在进程启动之前由加载程序完成(这意味着您不能等待模块调用CLR初始化例程),因为anyCPU意味着加载程序动态地确定进程的位,这显然必须在重新开始这个过程。 |