|
1
5
这是不可能的,因为“加载的”DLL是一个内存映射文件。这意味着“关闭手柄”将从内存中删除它,因为它不是 只是为了记忆 . 这就是为什么只要所有的程序都使用完全相同的文件,DLL的内存效率是如此之高——它(几乎)不需要任何额外的内存来加载它几百次!(以防您怀疑:它被映射为“写入时复制”,因此在内存中修改它不会修改磁盘上的文件,而是将受影响的4k页复制到实际内存中并在那里进行修改。) 但是,您可以在文件仍在使用时重命名该文件(或移动它,只要它位于同一卷上,从技术上讲,这也是重命名操作)。然后,您可以用原始名称创建一个新文件,然后在所有地方卸载旧文件后删除它。
也可以使用将旧文件标记为下次重新启动时自动删除
(请注意,使用
|
|
|
Guilherme Albertini · DLL中的类 7 年前 |
|
|
Naomi · C#dll资源文件更改语言 7 年前 |
|
|
AidanH · C#DLL语言翻译实现[关闭] 7 年前 |
|
|
subham · DLL函数调用不工作 7 年前 |
|
|
PixelThis · 为什么我的DLL要求我的程序有一个特定的名称? 7 年前 |
|
|
nemo · DLL的“好”调用约定是什么? 7 年前 |