|
|
1
3
CLR加载机制在后台使用LoadLibrary,因此您观察到:不能在同一地址加载两个程序集。现在,当人们试图重新设置dll的基础时,通常的意思是避免性能。修复的命中率,例如绝对地址和;函数调用需要使用加载的基址“重新定位”。CLR没有这个问题(不确定应用程序中的静态数据,这是这些修复的第二部分,我需要仔细阅读),因为在托管代码中调用函数时,MSIL代码是按需加载的。然后,MSIL被jitted并放置在堆上,我相信这与普通对象堆不同,CLR在应用程序中分配和布局新对象的方式相同。 |
|
|
2
1
你在运行什么操作系统?我知道vista和beyond引入了ASLR,它将加载DLL的地址空间随机化。这种情况发生在系统DLL上,但对.net不太确定-可能需要研究一下。 |
|
|
E.Meir · 支持一个项目的两个以上版本 9 年前 |
|
|
J86 · Visual Studio 2013找不到当前的DLL 10 年前 |
|
|
jayt.dev · 如何指向部件引用的位置? 12 年前 |