出于好奇,.NET 框架本身在访问标准库时是否依赖于任何非托管 DLL-s?例如,我调用方法 A 并且 - 在幕后 - 方法 A 或该方法 A 中的任何其他方法针对非托管 DLL 执行 PInvoke ?

最佳答案

是的,.Net 库经常使用非托管函数。库可以调用两种类型的非托管函数(我知道):来自框架本身的方法,或来自其他 DLL 的方法(使用 PInvoke)。

框架中实现的方法用 [MethodImpl(MethodImplOptions.InternalCall)] 标记。来自其他非托管 DLL 的那些用 [DllImport] 标记。

仅在我的 mscorlib.dll 版本中,就有 7241 个由框架内部实现的方法(例如 string.Length 的 getter)和 535 个来自一些非托管 DLL(其中许多在内部类 Win32Native 中)。

关于.net - 标准 .NET 库是否依赖于任何非托管 DLL-s?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9490515/

10-15 01:17
查看更多