DLL导出或内联

时间:2015-07-23 15:29:50

标签: c++ inline dllexport

我应该如何使用dll处理非常简单的(应该是内联的)函数?如果我希望它被内联,则必须在标题中定义它。如果我用dllexport标记它,它就不能内联。

内联案例:

  • 更快的代码(简单的getter和setter)
  • 在修改实施时需要重新编译
  • 实现必须在标题
  • 无法“隐藏”实施

出口案例:

  • 由于堆栈推送/弹出和通话费用
  • ,代码可能会变慢
  • 只重新编译特定对象
  • 实施是“隐藏”

但是,模板的内容是什么?特定函数是在编译时从模板函数生成的,因此它的实现不能在cpp文件中。那我该怎么办呢?

由于

修改

此问题被标记为可能重复。好吧,我不同意。那个问题在于讨论为什么必须在头文件中定义模板函数(我已经知道了,请阅读我原帖的最后一部分)。我的问题是谈论内联/ dllexport关系。请记住(至少我认为)我知道内联和dllexporting是如何工作的,所以它不是另一个“为什么我不能导出内联函数”的问题。

0 个答案:

没有答案