sor*_*h-r 4 c++ templates shared-libraries
我正在研究模板类的代码库.它只是标题(没有.cpp文件).我想隐藏实现并提供一个共享库以及一些仅包含声明的头文件.不幸的是听起来没有意义.由于没有编译代码,所以在这样的共享库中会有什么?尝试在编译后从头中删除定义,会导致未定义的引用.有没有办法强制编译器在dll或共享库中发送对象而无需显式实例化模板类?
pmr*_*pmr 5
不,在可预见的未来,没有也不会有办法做到这一点.提供模板C++代码的唯一方法是仅作为头文件.模块可能会改变这种情况,但在库完成之前不太可能发生这种情况.
您可以尝试的是分裂为实现并显式实例化所有可能的用例.然后你发布的库将不会使用任何其他类型然后实例化的库,并将显着减少模板带来的好处.
归档时间:
13 年,11 月 前
查看次数:
1227 次
最近记录: