什么是原生DLL?

Swa*_*and 13 dll native

当我在阅读StackOverflow上的DLL时,我偶尔会遇到"Native DLLs"这个词.我发现了有关它们的问题,但我无法理解"本机DLL"究竟是什么.

什么是本机DLL?

Kev*_*Kev 17

本机DLL通常是DLL,包含原始处理器直接可执行代码(例如在Win32 API中找到的代码),而不是例如托管(MSIL),其包含消耗的代码和运行时JIT编译为本机处理器指令的代码.作为.NET CLR.

在.NET中,还可以创建包含本机二进制代码和托管代码的混合模式DLL.

  • 它们被称为"Native",因为它们包含的代码对系统的处理器来说是"原生的",不需要翻译. (3认同)

Oli*_*ops 5

当来自 .net 程序集的托管代码被发明时,这个术语就出现了,以区分托管和非托管=本机代码。每个 .net 程序集在执行期间都会被 JIT 编译器“本地化”。这意味着它被转换为 CPU“本机”可以理解的 asm 代码。