我正在为动态加载的库实现一个独立于平台的包装器。当然,当我从库中加载函数时,我需要将它们存储为指针以备将来使用。我想过为此使用 boost::function 而不是普通的函数指针。当然,这会增加编译时间,但这不是我害怕的。相当:
调用存储函数时 boost::function 引入的开销是多少?有吗?它有多大?
我想我在不时调用此类函数时不会有太多开销,但是,经常调用的函数呢?(极端示例,glVertex
在加载的 GL 库上)。对性能有多大影响?
Source-diving boost 没有给出太多答案:>。
此外,如果它依赖于编译器,我主要对 GCC 和 MSVC 感兴趣。