Files
Inbox/系统基座文件/1/1.5/1.5.1 系统运行时与 ABI 基线 (System Runtime & ABI Baseline).md
2025-12-11 07:24:36 +08:00

66 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
tags:
date created: 星期三, 十一月 19日 2025, 8:00:42 晚上
date modified: 星期三, 十一月 19日 2025, 8:01:00 晚上
---
# 1.5.1 系统运行时与 ABI 基线 (System Runtime & ABI Baseline)
**1. C++ 标准库 ABI 边界 (C++ StdLib ABI Horizon)**
- **关键性****P0**
- **信息解析**
- **当前版本**`GLIBCXX_3.4.24`
- **对应编译器****GCC 7.3.0**。
- **工程约束**
- **C++ 标准**:完美支持 **C++14**
- **C++17 风险**:尽管 GCC 7.3 宣称支持 C++17`std::filesystem` 等特性此时仍位于 `std::experimental` 命名空间,且 ABI 与 GCC 8/9GLIBCXX\_3.4.26+)不兼容。
- **第三方库选型**:在引入预编译的第三方库(如 TensorRT, Arrow必须下载 **CentOS 7 / Ubuntu 18.04** 兼容版本,严禁使用依赖 GCC 9+ 的新版库,否则必报 `version 'GLIBCXX_3.4.26' not found`
- **探测依据**
```bash
strings /usr/lib64/libstdc++.so | grep "GLIBCXX" | tail -n 1
GLIBCXX_3.4.24
ls -l /usr/lib64/libstdc++.so
… -> libstdc++.so.0.24
```
**2. 系统基础 C 运行库 (System Glibc)**
- **关键性****P0**
- **信息解析**
- **版本****glibc 2.28**。
- **评价**:这是 Kylin V10 SP1 的出厂标配。相比 CentOS 7 的 glibc 2.17,它提供了更好的 `memcpy` 性能和更现代的 syscall 封装,足以支撑绝大多数现代雷达信号处理中间件。
- **探测依据**
```bash
ldd --version
ldd (GNU libc) 2.28
```
**3. 安全与压缩基础设施 (Security & Compression Infra)**
- **关键性****P1**
- **信息解析**
- **OpenSSL**:版本 **1.1.1f** (LTS)。支持 TLS 1.3。这是构建安全数据链路(如 HTTPS, Secure gRPC的基石且版本未过时无需手动升级。
- **Zlib**:版本 **1.2.11**。标准且稳定,用于 HDF5 或 Log 压缩无压力。
- **探测依据**
```bash
openssl version
OpenSSL 1.1.1f 31 Mar 2020
```
**4. 全局库冲突检测 (Global Conflict Detection)**
- **关键性****P2**
- **信息解析**
- **状态****Clean (无污染)**。
- **解读**:在 `/usr/local` 下未发现“私藏”的 `libstdc++.so` 或 `libc.so`。这意味着系统加载器Loader不会因为搜索路径顺序问题加载到错误的运行时库极大地降低了调试难度。
- **探测依据**
```bash
find /usr/local -name "libstdc++.so*" …
(Empty Result)
```