diff --git "a/docs/zh/docs/ApplicationDev/\344\275\277\347\224\250Clang\347\274\226\350\257\221.md" "b/docs/zh/docs/ApplicationDev/\344\275\277\347\224\250Clang\347\274\226\350\257\221.md"
index 2d25fd54df82d76231dd303bae176647b60968fb..f15be048044d80055486f7c5f413edb601e849f2 100644
--- "a/docs/zh/docs/ApplicationDev/\344\275\277\347\224\250Clang\347\274\226\350\257\221.md"
+++ "b/docs/zh/docs/ApplicationDev/\344\275\277\347\224\250Clang\347\274\226\350\257\221.md"
@@ -1,13 +1,14 @@
# 使用LLVM/Clang编译
本章介绍LLVM/Clang编译的一些基本知识,并通过示例进行实际演示。更多Clang使用方法请通过**clang --help**命令查询。
+
- [使用LLVM/Clang编译](#使用llvmclang编译)
- - [简介](#简介)
- - [LLVM/Clang安装](#llvmclang安装)
- - [多版本共存支持](#多版本共存支持)
- - [示例](#示例)
+ - [简介](#简介)
+ - [LLVM/Clang多版本安装](#LLVM/Clang多版本安装)
+ - [示例](#示例)
+ - [手动构建支持](#手动构建支持)
@@ -15,89 +16,76 @@
LLVM是一种涵盖多种编程语言和目标处理器的编译器,使用Clang作为C和C++的编译和驱动程序。Clang不仅仅可以将C, C++程序编译为LLVM中间表示的IR,也会调用所有以代码生成为目标的LLVM优化遍,直到生成最终的二进制文件。
-## LLVM/Clang安装
+## LLVM/Clang多版本安装
-openEuler操作系统中通过yum源安装Clang和LLVM软件包。默认安装llvm-12
+在openEuler操作系统中,Clang/LLVM工具链可通过官方yum仓库进行标准化安装。为兼容不同场景对LLVM版本的需求,系统采用主副版本共存机制:默认安装稳定主版本的同时,支持部署更高版本的LLVM。
-```shell
-yum install llvm
-yum install clang
-yum install lld // openEuler yum源中目前没有lld-12版本
-```
+| openEuler版本 | llvm主版本 | 安装方式 | llvm副版本 | 安装方式 |
+|----------------|------------|--------------------------|---------------|--------------------------------------------------------------------------|
+| 22.03-SP3 | llvm12 | yum install -y clang | llvm17、llvm18 | yum install -y llvm-toolset-17
yum install -y llvm-toolset-18|
+| 22.03-SP4 | llvm12 | yum install -y clang | llvm17、llvm18 | yum install -y llvm-toolset-17
yum install -y llvm-toolset-18|
+| 24.03 | llvm17 | yum install -y clang | NA | NA |
+| 24.03-SP1 | llvm17 | yum install -y clang | llvm18 | yum install -y llvm-toolset-18|
-验证安装是否成功
+以openEuler 22.03-SP4为例,验证主版本安装是否成功
```shell
clang -v
-```
-
-若返回结果中包含clang版本信息,说明安装成功。
-
-## 多版本共存支持
-
-openEuler LLVM/Clang 多版本支持的方式如下:
-
-```text
-yum包名:
-llvm{-*}
-clang{-*}
-lld{-*}
-bolt{-*}
-例如:
-clang15
-llvm15-devel
-
-安装路径:
-/usr/lib64/llvm
-例如:
-/usr/lib64/llvm15
-
-/usr/bin目录下会安装带有-后缀的可执行文件
-例如:
-/usr/bin/clang-15
-/usr/bin/lld-15
-```
-
-目前支持的LLVM/Clang版本有
-```text
-llvm //默认llvm12
-llvm-15
+clang version 12.0.1 (openEuler 12.0.1-6.oe2203sp4 f4a7df2c51fa9eb3679555ef2de92c638ba9f880)
+Target: aarch64-unknown-linux-gnu
+Thread model: posix
+InstalledDir: /usr/bin
+Found candidate GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/10.3.1
+Found candidate GCC installation: /usr/lib/gcc/aarch64-linux-gnu/10.3.1
+Selected GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/10.3.1
+Candidate multilib: .;@m64
+Selected multilib: .;@m64
```
-通过yum安装其他版本
+验证副版本安装是否成功
```shell
-yum install llvm15
-yum install clang15
-yum install lld15
-```
-
-验证安装是否成功
+source /opt/openEuler/llvm-toolset-17/enable
+clang -v
-```shell
-clang-15 -v
+clang version 17.0.6 ( 17.0.6-4.oe2203sp4)
+Target: aarch64-openEuler-linux-gnu
+Thread model: posix
+InstalledDir: /opt/openEuler/llvm-toolset-17/root/usr/bin
+System configuration file directory: /etc/llvm-toolset-17-clang/
+Found candidate GCC installation: /usr/lib/gcc/aarch64-linux-gnu/10.3.1
+Selected GCC installation: /usr/lib/gcc/aarch64-linux-gnu/10.3.1
+Candidate multilib: .;@m64
+Selected multilib: .;@m64
```
+若返回结果中包含clang版本信息,说明安装成功。
+
## 示例
编译运行C/C++程序
```shell
-clang [command line flags] hello.c -o hello.o
+clang [compiler-flags] hello.c -o hello.o
./hello.o
```
```shell
-clang++ [command line flags] hello.cpp -o hello.o
+clang++ [compiler-flags] hello.cpp -o hello.o
./hello.o
```
指定的链接器为LLVM的lld,若不指定它则使用默认的lld。
```shell
-clang [command line flags] -fuse-ld=lld hello.c -o hello.o
+clang [compiler-flags] -fuse-ld=lld hello.c -o hello.o
./hello.o
```
-其他通用信息请参考LLVM的[用户指导](https://llvm.org/docs/UserGuides.html)
+## 手动构建支持
+
+请参考openEuler [llvm-project源码仓](https://gitee.com/openeuler/llvm-project)
+
+#### 更多信息请参考LLVM的[用户指导](https://llvm.org/docs/UserGuides.html)
+