我读过最好有内部链接(对于变量、自由函数等),因为这将减少从特定编译单元“导出”的符号数量。这样构建时间可能会更好。
这是真的?
使用内部链接的另一个优点是名称冲突不会有任何问题。
参考:大规模 C++ 软件设计
我读过最好有内部链接(对于变量、自由函数等),因为这将减少从特定编译单元“导出”的符号数量。这样构建时间可能会更好。
这是真的?
使用内部链接的另一个优点是名称冲突不会有任何问题。
参考:大规模 C++ 软件设计
理论上是的,但是...... C++ 向泛型编程发展。命名空间的引入限制了名称冲突问题。
以“仅头文件库”的形式编写程序总是更频繁,这些程序从单个 cpp 文件分层包含,该文件仅包含一个 main,其目的是实例化一个负责所有编排的“管理器对象”,并提供最后的手段“ catch" 用于最终逃脱的异常。长符号表可以通过“预编译头”来加快速度。
从这个意义上说,所有的链接都是“内部的”,因为没有什么可以“输出”。
更一般地说,很少的外部链接会导致更快的链接时间,很少的内部链接会导致更快的编译时间。当内部表和外部表相互平衡时,最有可能达到最佳最小值。但还有许多其他重要因素需要注意。
我想知道这样的书是否仍然可以被认为是当今标准的“好”:您是否注意到它所建议的 - 例如 - 关于迭代器的内容除了今天的标准库所做的之外都是什么?