gpt4 book ai didi

eigen - 为什么 Eigen 不需要链接 .lib 或 dll?

转载 作者:行者123 更新时间:2023-12-03 22:23:08 30 4
gpt4 key购买 nike

最近,我编译了 Eigen3 并用它在 Windows 上做一些线性代数任务。

但我想知道为什么 Eigen3 不需要链接额外的 lib 或 DLL(我只需要包含它的头文件)

Eigen 是否在编译时进行所有计算?还是我想念理解某些东西?

如果是,这种库的类别名称是什么

最佳答案

与所有 C++ 模板库一样,Eigen 完全包含在头文件中,并且每次都插入到源文件中。所以它不包含任何 cpp 文件,这些文件将被编译为 dll。

dll/lib 和 header 之间的区别发生在类在 header 中声明并在 cpp 文件中实现时。那么实现部分总是相同的,可以从一个dll加载。

但是,在模板库中,类并未完成,因为它们取决于您传递给它们的模板参数。例如如果你写 Matrix<float, 17, 19> ,您创建了一个具有全新实现的新完整类,该类无法从 dll 加载。

这也使得使用大量模板(如许多不同的固定大小的矩阵)的 C++ 程序变得非常庞大。

关于eigen - 为什么 Eigen 不需要链接 .lib 或 dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13705040/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com