“dll导出/导入”是什么意思?
我对这个术语感到很困惑。我绝对不喜欢dll上下文中的单词“dll导出/导入”是什么意思?,dll,Dll,我对这个术语感到很困惑。我绝对不喜欢dll上下文中的单词export。原因只是因为,我不明白它是什么。我也不知道去哪里找 它在许多场合使用 从DLL导出 从共享库导出表 通过dll导出的函数 谁能解释一下吗。这意味着什么?在其他语境中,它的意思是如何变化的?什么是导出表?它是否类似于PE/ELF文件中的.text/.bss/.data节 为什么我从来没有听说过dll导入?如果存在这样的事情。什么时候用。如果不是太多,一个简单的例子也很好 请澄清,我恳请大家使用简单的术语。我已经很困惑了。当函
export
。原因只是因为,我不明白它是什么。我也不知道去哪里找
它在许多场合使用
- 从DLL导出
- 从共享库导出表
- 通过dll导出的函数
您不经常谈论“dll导入”,因为dll导入不是单个进程。链接到dll时,该dll导出的每个函数都可用于dll,但为了链接到dll,通常需要一个.h文件来提供声明,以及一个.lib文件来提供导出函数的存根指针。这两件事一起构成了dll导入。但是,通过使用
LoadLibrary
和GetProcAddress
函数(相当于POSIXdlopen
和dlsym
),可以在没有这两种功能的情况下使用dll函数。完整的符号表(如用于调试的符号表)将包括内部函数、变量名和其他未导出的内容。导出表是二进制映像的一个特定操作系统支持的功能,允许运行时链接。因此它是一种非常特殊的符号表。事实上,C#P/Invoke使用[DllImport]
属性将函数签名标记为从给定DLL导入。