我正在研究模板类的代码库。它只是头文件(没有.cpp文件)。我想隐藏实现并提供一个共享库和一些只包含声明的头文件。不幸的是听起来没有任何意义。由于没有编译代码,那么在这样的共享库中会有什么?尝试在编译后从头文件中删除定义,会导致未定义的引用。有没有办法强制编译器在dll或共享库中发布对象,而无需显式实例化模板类?将C++头仅模板编译为共享库
4
A
回答
5
3
模板实现需要在编译时知道。这就是为什么你不能将实现与声明分开的原因。所以如果你想拥有模板的优点,那么传递你的头文件是没有办法的。
相关问题
- 1. 将仅头文件模板库编译为共享库?
- 2. 编译共享库(旧标准)与C++ 11共享库
- 3. 编译python到共享库
- 4. 当编译共享库
- 5. 将coretuils编译为共享对象?
- 6. 高效共享预编译头文件
- 7. 将c/C++与Java本地代码集成为共享库(由gcj编译)
- 8. C++模板编程为在编译时
- 9. 使用GCC的共享库项目的预编译头文件
- 10. 使用g ++动态共享库编译
- 11. 编译共享库时出错
- 12. 如何用共享库编译gcc?
- 13. 缺少共享库(g ++编译)
- 14. C++模板+共享库=>模糊调用
- 15. C++头只模板库
- 16. 共享缓存共享模板?
- 17. c + +编译模板错误
- 18. 将共享库链接到共享库
- 19. 仅编译Handlebars.js模板的一部分
- 20. 如何Python的(C)的源代码编译成共享库
- 21. 铛++编译模板类实现在头
- 22. 共享主机编译
- 23. 如何在Python中编译,创建共享库并导入C++ boost模块
- 24. 如何编译cpp然后将其链接到共享库
- 25. C++共享库模板:未定义的符号错误
- 26. Linux共享库C++
- 27. NDK和Android Studio,因为共享库而编译崩溃
- 28. 笨 - 共享模板变量
- 29. WPF DataGridTemplateColumn共享模板?
- 30. PlanningCalendar模板共享错误
不,只是运送标题。 – 2012-07-22 17:22:38
这是不可能的。 – Jichao 2012-07-22 17:24:01
我认为你可以将你的模板分割成h和cpp文件,并且有一个共享库来显式实例化所有可能的情况。现在您可以将其发送给您的客户,并且可以链接到它。他们可能无法为新类型实例化您的模板,但可以使其工作 – 2012-07-22 17:25:47