1

我不知道如何搜索这个问题,这就是我问它的原因。

当您有一个包含 3 个类的项目时。


Class A
{
   int doSomething();
}

// Depends on A.
Class B
{
 A objA; 
}

// Depends on nothing
Class C
{
   void Terminate();
}

然后创建一个包含这 3 个类的静态库。当您将 .lib 文件与可执行文件链接时,将 1) 2)

  1. 该库中的所有类都将加入可执行文件(A、B、C)
  2. 或者只是使用的类(以及它的依赖项)?(A,B,不是 C)

void main()
{
 B b;
 b.doSomething();
}
4

1 回答 1

0

静态链接将记录所需的类/函数来自哪个库以及位于哪个文件位置。main() 中除了映射的位置偏移之外没有其他代码。
通常,这看起来像:

main(){
  compiled_library.dll 0x01234ABC <- offset in file
}
于 2012-09-03T06:03:19.903 回答