我们可以从 dll 中导入和导出函数吗
Posted
技术标签:
【中文标题】我们可以从 dll 中导入和导出函数吗【英文标题】:Can we import and export a function from a dll 【发布时间】:2012-03-08 15:42:20 【问题描述】:我有一个 dll 说“A.dll”,它导出一个函数“int foo()”。我有另一个 dll 说“B.dll”,它消耗 A.dll 并使用函数 foo() 并导出一些其他函数。是否可以从 B.dll 导出函数“int foo()”(从 A.dll 导入),以便可以在第三个 dll“C.dll”中使用。
我想知道这是否可能,我不想要像让第三个 dll 可以使用 A.dll 这样的变通方法。另外,我不担心这是否是一个糟糕的设计。
非常感谢您耐心阅读本文。
卡皮尔。
【问题讨论】:
这不是自己工作的吗,只需在某些标头中声明 int foo() 吗? 【参考方案1】:只要 A.dll 导出一个函数,该函数将可供任何应用程序使用(就像 B.dll 使用它一样)。 C.dll 也将能够从 A.dll 导入导出的函数。此外,您可能会采用所谓的“导出转发”(参见URL)机制,该机制使您能够从 B.dll 导出函数并在 A.dll 中实现这些(如 \system32\sfc.dll 导出的函数被转发到\system32\sfc_os.dll)
【讨论】:
以上是关于我们可以从 dll 中导入和导出函数吗的主要内容,如果未能解决你的问题,请参考以下文章