66 lines
2.5 KiB
Markdown
66 lines
2.5 KiB
Markdown
---
|
||
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/9(GLIBCXX\_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)
|
||
```
|