
# 代码下载与编译
#### 环境信息
SDK需运行在Linux操作系统上，并安装好gcc（建议4.8及以上版本）。SDK依赖openssl库和paho库，如果开发者有自己的编译链，需要自行编译openssl/paho库文件。
#### 安装依赖
表1SDK依赖组件 
| 库名          | 描述                                                                                                                                                        | 具体编译方式                                                                                                               |
|:---|:---|:---|
| openssl     | OpenSSL 是一个开源的密码学工具库，提供了广泛的加密、解密、证书管理以及安全通信功能，广泛应用于网络通信、数据保护和系统安全等领域。                                                                                     | [编译openssl库](https://github.com/huaweicloud/huaweicloud-iot-device-sdk-c/blob/master/README_CN.md#32编译openssl库)      |
| paho.mqtt.c | paho.mqtt.c 是 Eclipse Paho 项目提供的一个 轻量级 MQTT 客户端 C 语言库，专门用于实现 MQTT（Message Queuing Telemetry Transport）协议通信。MQTT 是一种基于发布/订阅模型的物联网（IoT）通信协议，以低带宽、低功耗和高效率著称。 | [编译paho库](https://github.com/huaweicloud/huaweicloud-iot-device-sdk-c/blob/master/README_CN.md#33-编译paho库)           |
| zlib        | zlib 是一个广泛使用的开源数据压缩库，主要用于 无损数据压缩和解压。它实现了 DEFLATE 压缩算法（结合了 LZ77 和 Huffman 编码），被许多软件和协议作为标准压缩方式。                                                            | [编译zlib库](https://github.com/huaweicloud/huaweicloud-iot-device-sdk-c/blob/master/README_CN.md#34-编译zlib库)           |
| boundscheck | 对涉及内存边界检查或数组越界检测，用于提高代码安全性，防止缓冲区溢出等漏洞。                                                                                                                    | [编译华为安全函数库](https://github.com/huaweicloud/huaweicloud-iot-device-sdk-c/blob/master/README_CN.md#35-编译华为安全函数库)       |
| ssh         | 用于在应用程序中实现安全的远程登录、文件传输和加密通信。它通过加密通道保护数据传输，防止窃听、篡改和中间人攻击。                                                                                                  | [编译libssh库](https://github.com/huaweicloud/huaweicloud-iot-device-sdk-c/blob/master/README_CN.md#36-编译libssh库)       |
| nopoll      | 一个轻量级的开源 WebSocket 库，基于 C 语言实现，主要用于在嵌入式系统或资源受限环境中实现高效的 WebSocket 通信。                                                                                      | [编译libnopoll库](https://github.com/huaweicloud/huaweicloud-iot-device-sdk-c/blob/master/README_CN.md#37-编译libnopoll库) |
| curl        | 用于访问网页、调用 REST API（如 GET/POST/PUT/DELETE），文件上传、下载等。                                                                                                       | [编译curl库](https://github.com/huaweicloud/huaweicloud-iot-device-sdk-c/blob/master/README_CN.md#38-编译curl库)           |
   
