C++ 如果我提供了一个使用IPP库的DLL,我是否也应该提供IPP DLL?

C++ 如果我提供了一个使用IPP库的DLL,我是否也应该提供IPP DLL?,c++,dll,compilation,lib,intel-ipp,C++,Dll,Compilation,Lib,Intel Ipp,我正在读一篇关于IPP调度员的有趣的文章。在某些情况下,它的书面:调度指的是在运行时检测CPU功能,然后选择与您的CPU对应的“英特尔IPP优化库集”的过程。例如,在\ia32\ipp目录中,ippip8.dll库文件包含适用于采用“英特尔SSE4.2;”的处理器的32位优化图像处理库“ippi”指的是图像处理库,“p8”指的是32位SSE4.2体系结构 这是否意味着如果我使用ipp.h发布DLL,当我向客户发货时,他们也需要ipp库的DLL版本?或者它们是在最终构建中自动编译并与.lib链接的

我正在读一篇关于IPP调度员的有趣的文章。在某些情况下,它的书面:调度指的是在运行时检测CPU功能,然后选择与您的CPU对应的“英特尔IPP优化库集”的过程。例如,在\ia32\ipp目录中,ippip8.dll库文件包含适用于采用“英特尔SSE4.2;”的处理器的32位优化图像处理库“ippi”指的是图像处理库,“p8”指的是32位SSE4.2体系结构

这是否意味着如果我使用
ipp.h
发布DLL,当我向客户发货时,他们也需要
ipp
库的DLL版本?或者它们是在最终构建中自动编译并与
.lib
链接的


我没有在文档中看到
DLL示例

您不必全部发货,有一个在运行时完成的自动分派。如果库“丢失”,则运行时将选择较低的兼容运行时(因此您至少应该有SSE2运行时)。

Uhm,在整个过程中都不清楚。这就是我认为应该理解的:假设我构建了
MyPlug.dll
,它使用
ippsext\u 64f
。当我在不同的机器/cpu上运行它时,默认情况下,
ippInit
将自动捕获正在运行的cpu,并将分派到优化(重载)
ippsext\u 64f
函数。但是所有这些重载都在程序本身内,或者dispatcher将调用IPP DLL?(所以用户在我的程序中也需要它们)?在库中。你说的“在库中”是什么意思?.lib和.dll都是库。但是这些文件将包含在最终(唯一)dll(.lib)中,而其他文件则需要单独发送。lib是.dll的定义(如果您针对dll进行链接)。它们不包含代码.lib集合,这些集合不是将链接的已编译对象文件吗?