0

我是 C++ 编程的新手。我的程序中有2个库,一个需要动态链接,另一个需要静态链接,在Eclipse中如何设置?我正在使用 Eclipse CDT + MinGW + Windows 7。

谢谢。

4

1 回答 1

0

目前还不完全清楚你在这里追求什么。

大多数静态与动态都在库本身中,而不是您如何链接到它。你可以有一个静态库,它基本上只是一个目标文件的集合,被塞进一个文件中,有一个目录来告诉哪些部分最初是哪些文件。

你也可以有一个DLL。创建 DLL 时,链接器通常还会为该 DLL 创建链接库。这个库基本上只包含存根——足够的信息,因此链接器可以将指向 DLL 的链接插入到另一个 DLL 或可执行文件中。

当您使用 DLL 时,您基本上可以通过三个选项来使用它:

  1. 最常见的情况:DLL 将在加载父可执行文件时加载。
  2. delayload:直到/除非您实际使用其中的函数才加载该DLL(例如,如果您有一个仅在Windows Vista或更高版本下使用的特殊DLL,则很方便)。
  3. 显式动态链接。在这里,您根本不会告诉链接器有关 DLL 或关联库的信息。你调用LoadLibraryandGetProcAddress来加载库,并获得一个可调用的函数地址。
于 2012-10-02T03:16:07.397 回答