假设找到一个很有前景的库并决定引入项目,它真的能用吗?能稳定工作吗?此时C++生态的碎片化问题就暴露无遗了。以下糟糕情况的发生概率都不为零:
希望您永远不会遇到这些问题。值得一提的是,对比技术栈(Python/Java/.NET)中这些问题几乎不存在 —— 除非特殊情况,比如Python调用C++模块,或Java使用操作系统原生功能时可能遭遇平台差异。这些生态通常能保持高度一致性。
公平地说,成熟的C++框架(如Boost/zlib)同样致力于提供一致行为。只是在基于虚拟机的语言中,实现库的跨平台一致性要容易得多。
即使库能完美运行:没有警告、没有诡异问题、与代码工具链和谐共处,
最后还要问:我们能信任它吗?