惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
The GitHub Blog
The GitHub Blog
小众软件
小众软件
美团技术团队
博客园 - 司徒正美
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Docker
J
Java Code Geeks
Last Week in AI
Last Week in AI
V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
V
V2EX
C
Check Point Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MyScale Blog
MyScale Blog

C++

小孩马上高一,但是想学信奥赛 c++,有什么学 c++的书推荐? 真是意想不到的操作:有好几个人一起协作向 C++库 fmtlib 加上了 C11 包装接口,确实能用 基于 C++20 协程编写 gRPC 客户端与服务端 似乎在 C 的领域,让一个新程序“为未来准备好”是一件很麻烦的事 请教各位 centos 7.9 通过 devtoolset 启用 c++14/17 时遇到的链接问题 求大佬指点:Windows 上 c++部署最新 Paddleocr,无法通过内存识字 为 c++ 提供模式匹配 分享一下我个人开源的 C++23 协程网络框架 为什么写 C++的人年龄偏大? 大型 c++项目,在 ai 帮助下完成 Linux 平台移植,可行性多大? 少用 auto 再一次感觉到 C++的恶心 分布式存储 [求助] Linux 有什么好的引入 c++ 第三方库的方案 [求助]请教一个 C++多线程的性能问题 2026 年找 C++的开发工作,应该学习 C++的哪个版本? 分布式系统 使用匿名结构体指针作为常量来杜绝魔数,是否合理/值得? 有没有什么工具可以统计 C++项目里标识符的使用情况? 看到一些 C++ 或者 C#项目 驼峰和下划线一块用,为啥泥? [求助] Linux 系统下动态库卸载后全局变量未重置的问题 交叉编译 asop android adb 最新版的问题 [有偿] 小白, Windows UI Automation TextPattern 检测问题求助 小白问个 vcpkg 相关的问题 记录一次踩坑过程(clion + cmake + vcpkg) 用智能指针管理 ffmpeg 中的数据结构是有必要的吗? 定位重载的插件或者 IDE 想系统的学习 Modern C++,麻烦大佬们推荐一些书籍 困扰几天的问题,这是被 gcc 优化了吗? 好的 c++代码是什么样的
为什么 C/C++ 语言的标准库不做成 Java 那样可安装的运行时?
w568w · 2025-06-26 · via C++

如题。现在的平台/编程语言运行时,按兼容性大致可以分成几类:

  1. 几乎不变动,程序可以动态链接/调用:POSIX API ,Win32 API ;
  2. 经常变动,但可以自由安装:Python ,Java ,NodeJS ,C# .NET……;
  3. 经常变动,但直接嵌入到编译后的程序:Go ,Rust……。

唯独 C 和 C++,在 Linux 下不仅经常变动,并且不向前兼容(即旧版 libc(++) 不能运行新版 libc(++) 的程序)、不互相兼容( musl-libc 的程序不能用 glibc 运行),我在 Arch 上编译的程序几乎没法拿到 Ubuntu LTS 上运行,只能开个 Docker 容器来编译。

这就导致两个奇怪的现象:

  1. 在面向旧发行版开发 C/C++ 的时候,很多人宁愿自己搭古老开发环境来编译,也不愿/不能升级目标环境。而在 Python 、Java 之类的语言里,第一反应是直接给目标环境装个新版 Python/JRE 。
  2. 很多 C/C++ 软件不得不发布一堆变体来保证兼容性(此外,C++ 还有 CXX11ABI 的兼容性问题),或者干脆让用户自己编译(然而用户并不是何时都有空、有能力搭环境,尤其是一些编译依赖非常复杂的软件)。

但似乎很少有人会专门去下载标准库实现。除了 Conda ,好像也没人关心怎么打包标准库。

为什么 C/C++ 不像 JRE 那样,发布一个 C/C++ Runtime 呢,这样分发软件不是方便得多吗?