c# – DllImport如何工作?

前端之家收集整理的这篇文章主要介绍了c# – DllImport如何工作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想了解DllImport的真正工作原理.我需要一个简单的英文解释 – 就是简单的解释.

它是否与DLL的导出方法静态链接,如“include file”指令/静态库?

或者当它到C#程序中的执行点时,它是否动态地从DLL中调用方法

解决方法

它使用两个核心的winapi函数.首先是LoadLibrary(),将一个DLL加载到一个进程中的winapi函数.它使用您为DLL指定的名称.第二个是GetProcAddress(),该函数返回DLL中函数的地址.它使用您指定的函数名称.然后,一些管道运行,使用您指定的参数构建函数调用的堆栈框架,并在其找到的地址处调用函数.

所以是的,这是非常有活力的.这不会发生,直到你的代码实际上落在一个调用被诱骗函数的语句上.技术术语是“后期绑定”,而不是Windows加载程序为本机代码使用的更常见的早期绑定.

猜你在找的C#相关文章