正如标题所说,与普通函数相比,调用dll函数是否有一个性能?该DLL将由dlopen
加载。
编辑:
忽略dlsym
时间,因为我每个函数只执行一次。
答案 0 :(得分:5)
对DLL函数的调用是按地址间接进行的,编译器无法对它们进行内联,因此会有轻微的性能损失。
如果您在性能关键的内循环中使用它们并在分析它们之后,您应该担心。
答案 1 :(得分:0)
是的,性能受到了打击。您执行dlsym调用以获取函数的地址,然后使用该地址调用该函数。由于与来自同一模块的函数调用相比,添加了dlsym调用,因此它必须更慢。多少重要?这取决于。唯一确定的方法就是衡量它。
答案 2 :(得分:0)
找出答案的最佳方法就是衡量......