【问题标题】:How to use the code of two DLLs from a third one in C?如何在 C 中使用来自第三个 DLL 的两个 DLL 的代码?
【发布时间】:2010-08-18 17:58:08
【问题描述】:

我有两个 dll 的 a.dll 和 b.dll 以及它们的库文件 a.lib 和 b.lib。我正在尝试编写第三个 dll,它具有必须使用 a.dll 和 b.dll 中的函数的函数。

这可能吗?

输出本身必须是 dll - 这是绝对要求。

我有完整的 C 源代码。

【问题讨论】:

  • 如果我正确理解了您的问题,那么您的问题标题具有高度误导性。您是想编写一个使用另外两个 DLL 的 DLL,还是想以产生第三个 DLL 的方式使用这两个现有的 DLL? (我假设您的意思是前者,但您的标题暗示后者。)
  • 前者。我想编写一个使用其他两个现有 dll 提供的函数的 dll。

标签: c dll compilation


【解决方案1】:

'这可能吗?'

简而言之,是的。 DLL 可以像 EXE 一样包含对其他 DLL 的引用。您没有说正在使用什么编译器,但“lib”很可能包含对 DLL 的库引用。因此,您需要将这些库添加到新 DLL 的链接器配置中。

您通常会通过它们的头文件引用其他 DLL 中的任何函数原型(尽管您可以再次对它们进行原型化,这似乎没有必要,因为您说您拥有代码),这与您使用来自 EXE 的 DLL。

您需要确保将所有三个 DLL 部署在一起,因为新 DLL 引用现有的,它不会将函数的副本复制到自身中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    • 2021-03-19
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 2013-10-09
    相关资源
    最近更新 更多