Han*_*ant 23
它使用两个核心winapi功能.首先是LoadLibrary(),它将DLL加载到进程中的winapi函数.它使用您为DLL指定的名称.第二个是GetProcAddress(),winapi函数返回DLL中函数的地址.它使用您指定的函数的名称.然后使用您指定的参数为函数调用构建堆栈帧的一些管道运行,并在它找到的地址处调用该函数.
所以,是的,这是非常有活力的.直到你的代码真正落在调用pinvoked函数的语句上才会发生这种情况.技术术语是"后期绑定",而不是Windows加载程序用于本机代码的更常见的早期绑定.
它动态调用它.DLLimport不会在您编译的程序中嵌入任何内容.这就是为什么当你使用DLLImport时,确保最终用户在正确的位置有正确的DLL,或者你的程序不能工作是很重要的.
希望这对你有所帮助!
| 归档时间: |
|
| 查看次数: |
3053 次 |
| 最近记录: |