创建仓库
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
---
|
||||
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)
|
||||
```
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
tags:
|
||||
date created: 星期三, 十一月 19日 2025, 8:01:59 晚上
|
||||
date modified: 星期三, 十一月 19日 2025, 8:10:41 晚上
|
||||
---
|
||||
|
||||
# 1.5.2 Host 端信号处理与数学库 (Host Signal Processing & Math Libs)
|
||||
|
||||
**1. 快速傅里叶变换库 (FFTW3)**
|
||||
|
||||
- **关键性**:**P0**
|
||||
- **信息解析**:
|
||||
- **版本**:**3.5.8**。这是 FFTW3 系列非常稳定的版本。
|
||||
- **精度支持**:
|
||||
- `libfftw3f.so` (单精度 float):用于处理雷达原始 IQ 数据(通常为 float 或 int16)。
|
||||
- `libfftw3.so` (双精度 double):用于高精度后处理算法。
|
||||
- `libfftw3l.so` (长双精度 long double):用于极端精度需求(较少用)。
|
||||
- **并行能力**:提供了 `_omp` (OpenMP) 和 `_threads` (Pthreads) 版本。建议在代码中优先链接 `libfftw3f_omp` 以利用多核优势。
|
||||
- **探测依据**:
|
||||
|
||||
```bash
|
||||
ls -l /usr/lib64/libfftw3f.so
|
||||
… libfftw3f.so.5.8
|
||||
```
|
||||
|
||||
**2. 线性代数加速库 (OpenBLAS)**
|
||||
|
||||
- **关键性**:**P0**
|
||||
- **信息解析**:
|
||||
- **版本**:**0.3.10**。
|
||||
- **架构优化**:OpenBLAS 0.3.x 系列对 ARMv8 (Cortex-A57/A72 等微架构) 有良好的支持,能自动检测并使用 NEON 指令集。这对于 CPU 端波束合成(矩阵乘法)至关重要。
|
||||
- **头文件**:`/usr/include/openblas/cblas.h` 已就绪,可直接使用标准 CBLAS 接口。
|
||||
- **探测依据**:
|
||||
|
||||
```bash
|
||||
ls -l /usr/lib64/libopenblas.so
|
||||
… libopenblas-r0.3.10.so
|
||||
```
|
||||
|
||||
**3. C++ 矩阵模板库 (Eigen3)**
|
||||
|
||||
- **关键性**:**P1**
|
||||
- **信息解析**:
|
||||
- **状态**:**Installed**。
|
||||
- **特性**:Eigen 是纯头文件库(Header-only),无需编译链接。它能自动检测并调用后端的 BLAS 库(如 OpenBLAS)进行加速,是现代 C++ 算法开发的首选。
|
||||
- **探测依据**:
|
||||
|
||||
```bash
|
||||
ls -d /usr/include/eigen3
|
||||
/usr/include/eigen3
|
||||
```
|
||||
@@ -0,0 +1,56 @@
|
||||
---
|
||||
tags: []
|
||||
date created: 星期三, 十一月 19日 2025, 8:16:48 晚上
|
||||
date modified: 星期三, 十一月 19日 2025, 8:17:14 晚上
|
||||
---
|
||||
|
||||
# 1.5.3 通信、存储与基础设施中间件 (Comm, Storage & Infra Middleware)
|
||||
|
||||
**审计综述**:
|
||||
Host 端数据基础设施已经补齐。我们确认 Protobuf 编译器已安装,可支持控制协议的开发;ZeroMQ 和 HDF5 库均已正确链接到系统库,数据传输和落盘能力已具备。
|
||||
|
||||
**1. 通信与协议中间件 (Comm & Protocols)**
|
||||
|
||||
- **关键性**:**P0**
|
||||
- **信息解析**:
|
||||
- **Protobuf 编译器**:`protoc` (v3.14.0) 已就绪。这使得开发者可以编译最新的 `.proto` 文件,用于控制指令或数据结构的版本化管理。
|
||||
- **ZeroMQ (ZMQ)**:库文件 `libzmq.so.2.4` 存在。这是构建雷达后端实时数据发布/订阅(Pub/Sub)消息总线的核心传输层。
|
||||
- **评估**:ZeroMQ (v5.x) 和 Protobuf (v3.x) 均为现代版本,Host 端具备高性能数据通信能力。
|
||||
- **探测依据**:
|
||||
|
||||
```bash
|
||||
protoc --version
|
||||
libprotoc 3.14.0
|
||||
ls -l /usr/lib64/libzmq.so*
|
||||
lrwxrwxrwx … /usr/lib64/libzmq.so -> libzmq.so.2.4
|
||||
```
|
||||
|
||||
**2. 数据存储中间件 (Storage Middleware)**
|
||||
|
||||
- **关键性**:**P0**
|
||||
- **信息解析**:
|
||||
- **HDF5 编译器**:`h5cc` 已就绪。`h5cc` 是 HDF5 库的专用编译器 Wrapper,它的存在证明 HDF5 的头文件和开发库已正确安装。
|
||||
- **用途**:HDF5 是存储雷达高维原始回波数据(IQ Data)的首选标准格式。
|
||||
- **探测依据**:
|
||||
|
||||
```bash
|
||||
which h5cc
|
||||
/usr/bin/h5cc
|
||||
ls -l /usr/include/hdf5.h
|
||||
-rw-r--r-- 1 root root 2561 … /usr/include/hdf5.h
|
||||
```
|
||||
|
||||
**3. 日志与配置设施 (Logging & Config Infra)**
|
||||
|
||||
- **关键性**:**P1**
|
||||
- **信息解析**:
|
||||
- **日志 (Glog)**:`libglog.so.0.0` 存在。Glog 提供了高性能的线程安全日志、VLOG 分级和断言机制,有助于雷达后端代码的稳定运行和故障排除。
|
||||
- **配置 (YAML)**:`libyaml-cpp.so.6.3` 存在。YAML 是比 JSON 更适合人工维护的配置文件格式,常用于存储复杂的雷达波位表或系统参数。
|
||||
- **探测依据**:
|
||||
|
||||
```bash
|
||||
ls -l /usr/lib64/libglog.so*
|
||||
… /usr/lib64/libglog.so.0.0
|
||||
ls -l /usr/lib64/libyaml-cpp.so*
|
||||
… /usr/lib64/libyaml-cpp.so.6.3
|
||||
```
|
||||
Reference in New Issue
Block a user