@
changnet 主要是 c 标准缺太多 os 功能了,posix 是相对中立又是 os 提供的东西,在 c/c++标准化吵完细节之前也只能这么干了
@
Ketteiron C/C++也没说绝对向后兼容,更多时候是新旧 abi 都给你留着(例如 libstdc++的 c++11 双 abi ,可以用新库原地替换),但还想新旧 abi 之间互操作就不现实了
@
beautyplus 我目前的感觉是,就算用了 SetConsoleCP 和 win10 1903 增加的 activeCodePage manifest ,还是无法避免依赖系统全局 utf-8 开关,必须走 wchar 那一套
@
cnbatch 1. 我知道有些系统受 y2038 影响,但工具链应该有条件做到尽力支持,例如,默认行为就是 64bit time_t ,允许最低限度 opt-out 来解决历史兼容
2. 我是没明白为啥都弃坑 mingw32/clang32 了还没解决这个问题,可能单纯没人搞?
3. 预期是依赖 win 系统的自动转换,程序可以不依赖全局 utf-8 开关的状态也能正确显示中文愉快地用窄字符 C/C++,CPython UTF-8 mode 算是相当接近这个目标了
4. 那还行,至少应用侧有方便 opt-in 的方法
6. 因为很多时候会出现新硬件搭配旧系统的情况,出货时间往往决定应用何时无条件停止支持。例如 Intel/AMD 已经停止出货不支持 AMD64(NX,SSE2)的 x86 CPU 相当长的时间,所以主流应用和工具链基本都不考虑不支持 NX/SSE2 的情况了,但 android 这边因为依然有 armv7 的 SoC ,或者 armv8 SoC 搭配 32 位 os 的硬件在出货,所以无论系统还是工具链短期内都不太可能弃坑