1. <stdio.h>
-
功能:标准输入输出库。
-
常用函数:
-
printf
:格式化输出。 -
scanf
:格式化输入。 -
fprintf
:向文件流输出。 -
fgets
:从文件流读取字符串。
-
-
用途:
-
用于输入输出操作,如打印日志、读取用户输入等。
-
2. <stdlib.h>
-
功能:标准库函数。
-
常用函数:
-
malloc
:动态分配内存。 -
free
:释放动态分配的内存。 -
exit
:终止程序。 -
atoi
:将字符串转换为整数。 -
rand
:生成伪随机数。
-
-
用途:
-
用于内存管理、程序控制、类型转换等。
-
3. <string.h>
-
功能:字符串处理库。
-
常用函数:
-
strcpy
:复制字符串。 -
strcat
:连接字符串。 -
strlen
:获取字符串长度。 -
strcmp
:比较字符串。 -
memset
:初始化内存区域。 -
memcpy
:复制内存区域。
-
-
用途:
-
用于字符串操作和内存操作。
-
4. <unistd.h>
-
功能:POSIX 标准库。
-
常用函数:
-
fork
:创建子进程。 -
exec
:执行新程序。 -
sleep
:暂停程序执行。 -
getpid
:获取当前进程 ID。 -
read
:从文件描述符读取数据。 -
write
:向文件描述符写入数据。
-
-
用途:
-
用于进程控制、文件操作、系统调用等。
-
5. <arpa/inet.h>
-
功能:网络编程库。
-
常用函数:
-
inet_addr
:将点分十进制 IP 地址转换为二进制格式。 -
inet_ntoa
:将二进制 IP 地址转换为点分十进制格式。 -
htons
:将主机字节序转换为网络字节序(16 位)。 -
htonl
:将主机字节序转换为网络字节序(32 位)。 -
ntohs
:将网络字节序转换为主机字节序(16 位)。 -
ntohl
:将网络字节序转换为主机字节序(32 位)。
-
-
用途:
-
用于网络编程中的地址转换和字节序处理。
-
6. <time.h>
-
功能:时间处理库。
-
常用函数:
-
time
:获取当前时间。 -
ctime
:将时间转换为字符串。 -
localtime
:将时间转换为本地时间结构。 -
strftime
:格式化时间输出。
-
-
用途:
-
用于获取和操作时间。
-
7. <stdint.h>
-
功能:固定宽度整数类型。
-
常用类型:
-
int8_t
:8 位有符号整数。 -
uint8_t
:8 位无符号整数。 -
int16_t
:16 位有符号整数。 -
uint16_t
:16 位无符号整数。 -
int32_t
:32 位有符号整数。 -
uint32_t
:32 位无符号整数。 -
int64_t
:64 位有符号整数。 -
uint64_t
:64 位无符号整数。
-
-
用途:
-
用于定义固定宽度的整数类型,确保跨平台兼容性。
-
8. <pthread.h>
-
功能:POSIX 线程库。
-
常用函数:
-
pthread_create
:创建线程。 -
pthread_join
:等待线程结束。 -
pthread_mutex_init
:初始化互斥锁。 -
pthread_mutex_lock
:加锁。 -
pthread_mutex_unlock
:解锁。
-
-
用途:
-
用于多线程编程。
-
9. <fcntl.h>
-
功能:文件控制库。
-
常用函数:
-
open
:打开文件。 -
close
:关闭文件。 -
fcntl
:控制文件描述符。
-
-
用途:
-
用于文件操作。
-
10. <termios.h>
-
功能:终端控制库。
-
常用函数:
-
tcgetattr
:获取终端属性。 -
tcsetattr
:设置终端属性。 -
cfsetispeed
:设置输入波特率。 -
cfsetospeed
:设置输出波特率。
-
-
用途:
-
用于终端配置和控制。
-
11. <errno.h>
-
功能:错误处理库。
-
常用变量:
-
errno
:存储错误代码。
-
-
常用函数:
-
perror
:打印错误信息。
-
-
用途:
-
用于错误处理和调试。
-
12. <signal.h>
-
功能:信号处理库。
-
常用函数:
-
signal
:设置信号处理函数。 -
raise
:发送信号。 -
kill
:向进程发送信号。
-
-
用途:
-
用于信号处理和进程间通信。
-
13. <microhttpd.h>
功能:GNU libmicrohttpd 库,用于创建嵌入式 HTTP 服务器。
常用函数:
-
MHD_start_daemon
:启动 HTTP 服务器。 -
MHD_stop_daemon
:停止 HTTP 服务器。 -
MHD_create_response_from_buffer
:从缓冲区创建 HTTP 响应。 -
MHD_queue_response
:将 HTTP 响应加入队列并发送给客户端。 -
MHD_destroy_response
:销毁 HTTP 响应。 -
MHD_add_response_header
:添加 HTTP 响应头。 -
MHD_get_connection_values
:获取 HTTP 请求头或查询参数。 -
MHD_create_response_from_callback
:从回调函数创建 HTTP 响应。 -
MHD_access_handler_callbacks
:处理 HTTP 请求的回调函数。
用途:
用于创建轻量级嵌入式 HTTP 服务器,适合需要提供 Web 服务的嵌入式系统。
14. <mongoose.h>
功能:Mongoose 库,用于创建嵌入式 Web 服务器和网络服务,支持 HTTP、WebSocket、MQTT 等协议。
常用函数:
-
mg_mgr_init
:初始化事件管理器。 -
mg_http_listen
:监听 HTTP 请求。 -
mg_mgr_poll
:处理事件循环。 -
mg_http_reply
:发送 HTTP 响应。 -
mg_send
:发送数据。 -
mg_mqtt_listen
:监听 MQTT 请求。 -
mg_mgr_free
:释放事件管理器资源。 -
mg_http_serve_dir
:提供静态文件服务。 -
mg_http_serve_file
:提供单个文件服务。 -
mg_ws_upgrade
:升级 HTTP 连接为 WebSocket 连接。
用途:
-
嵌入式 Web 服务器:在嵌入式设备中提供 Web 管理界面。
-
RESTful API 服务:提供简单的 HTTP API。
-
WebSocket 服务:实现实时通信。
-
MQTT 代理:实现轻量级的 MQTT 消息传递。
-
网络工具:快速搭建网络测试工具或原型。