#include <json-c/json.h><json-c/json.h> 是 JSON-C 库 的主要头文件,用于在 C 语言中 解析、生成和操作 JSON 数据。它是 Linux 系统下最常用的 JSON 处理库之一。 1. 核心功能 功能 关键函数/对象 用途 JSON 对象创建 json_object_new_*() 创建各种类型的 JSON 对象 JSON 解析 json_tokener_parse() 将 JSON 字符串解析为 JSON 对象 JSON 生成 json_object_to_json_string() 将 JSON 对象转换为 JSON 字符串 对象操作 json_object_object_*() 操作 JSON 对象中的键值对 数组操作 json_object_array_*() 操作 JSON 数组 类型检查 json_object_get_type() 获取 JSON 对象的类型 2. 安装 JSON-C在 Linux 上安装: 12345# Debian/Ubun ...
#include <sys/stat.h><sys/stat.h> 是 Unix/Linux 系统编程中用于 文件元数据操作 的核心头文件,提供了 文件属性检查、权限管理、文件创建 等功能。 1. 核心功能 功能 关键函数/宏 用途 文件信息获取 stat(), fstat(), lstat() 获取文件元数据 文件权限检查 S_ISDIR(), S_ISREG() 等宏 判断文件类型 权限位操作 S_IRUSR, S_IWGRP 等宏 设置/检查文件权限 文件创建 mkdir(), mkfifo() 创建目录或命名管道 文件模式修改 chmod(), fchmod() 修改文件权限 2. 详细函数解析2.1 文件信息获取(1) stat() - 通过路径获取文件信息1int stat(const char *pathname, struct stat *statbuf); 功能:获取文件元数据(如大小、权限、时间戳)。 示例: 12345678910#include <sys ...
#include <unistd.h>1.介绍 <unistd.h>(UNIX Standard Header)是 POSIX 操作系统 API 的核心头文件之一,主要用于 Unix/Linux 系统编程。它提供了大量与 系统调用(System Calls) 相关的函数,涵盖 文件操作、进程控制、系统信息、终端管理、管道通信 等核心功能。 功能类别 主要函数 文件操作 read(), write(), close(), unlink(), lseek(), fsync() 进程控制 fork(), exec(), getpid(), getppid(), exit(), _exit(), wait() 系统信息 gethostname(), getcwd(), chdir(), sysconf() 时间管理 sleep(), usleep()(已弃用,建议用 nanosleep()) 终端/设备管理 isatty(), ttyname(), tcgetpgrp(), tcsetpgrp() 管道通信 pipe ...
#include <pthread.h><pthread.h> 是 POSIX 线程(Pthreads) 的标准头文件,用于 多线程编程。它提供了创建、同步和管理线程的函数,是 Linux/Unix 系统下多线程开发的核心库。 1. 核心功能 功能 关键函数 用途 线程创建 pthread_create() 创建新线程 线程终止 pthread_exit(), pthread_cancel() 终止当前线程或指定线程 线程同步 pthread_mutex_*, pthread_cond_* 互斥锁、条件变量 线程连接 pthread_join() 等待线程结束并获取返回值 线程属性 pthread_attr_* 设置线程属性(如栈大小、分离状态) 2. 详细函数解析2.1 线程创建与管理(1) pthread_create() - 创建线程12int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void ...
#include <arpa/inet.h><arpa/inet.h> 是 网络编程 核心头文件,提供 IP 地址转换 和 字节序处理 功能,主要用于 IPv4/IPv6 套接字编程(Socket Programming)。 1. 核心功能 功能 关键函数/宏 用途 IP 地址转换 inet_aton(), inet_addr(), inet_ntoa() IPv4 字符串 ↔ 二进制转换 现代 IP 转换 inet_pton(), inet_ntop() 支持 IPv4/IPv6 的可移植转换 字节序转换 htons(), htonl(), ntohs(), ntohl() 主机字节序 ↔ 网络字节序(大端序) 2. 详细函数解析2.1 IP 地址转换(IPv4)(1) inet_aton() - 字符串 → 二进制(推荐)1int inet_aton(const char *cp, struct in_addr *inp); 功能:将点分十进制 IPv4 地址(如 "192.16 ...
vue 源码分析注:来自 GitHubvue 源码逐行注释分析),仅仅用来学习使用 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818 ...
实现可过期的 localstorage 数据 localStorage 默认不会过期,数据会一直保留,除非用户手动清除。因此要实现 具有过期机制的 localStorage 缓存 主要有两种解决办法: 惰性删除 定时删除 1.惰性删除1.含义:只有在读取某个键值时才判断其是否过期,若过期则删除该项并返回空值 2.实现思路 存储数据时,将数据和过期时间一起存入(如使用一个对象 { value, expire })。 获取数据时,检查 expire 是否早于当前时间,若过期则删除该项。 3.优缺点优点:实现较为简单,不需要额外的定时器 缺点:如果莫一条数据一直没有被读取到,那么可能就不会被删除,会占用内存 4.代码实现123456789101112131415161718192021// 传入的experies是秒数function setItem(key, value, expires) { const data = { value: value, // 注意:这里的Date.now()返回的是毫秒数, 所以乘以1000转换为 ...
playwright 测试一.准备工作1.项目安装相应的包1npm init playwright@latest 2.进行可视化操作1npx playwright test --ui 二.知识准备Locator | Playwright 中文网 上面这个网站记录很多的 api 方法 行动 描述 locator.check() 检查输入复选框 locator.click() 单击该元素 locator.uncheck() 取消选中输入复选框 locator.hover() 将鼠标悬停在元素上 locator.fill() 填写表单字段,输入文本 locator.focus() 聚焦元素 locator.press() 按单个键 locator.setInputFiles() 选择要上传的文件 locator.selectOption() 在下拉菜单中选择选项
three.js一.认识three.js 未使用框架开发 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import * as THREE from "three";import "./style.css";// 创建一个场景const scene = new THREE.Scene();// 创建一个相机const camera = new THREE.PerspectiveCamera( // 视野角度 75, // 视口宽高比 window.innerWidth / window.innerHeight, // 近裁剪面 0.1, // 远裁剪面 1000);// 创建一个渲染器const render = new THREE.WebGLRenderer();// 设置渲染器的大小render.setSize(window.innerWidth, window. ...
HTML-CSS-补充学习一. HTML 语义化标签 标签 语义/用途 示例 适用场景 页面结构 <header> 定义页面或区域的头部(如网站标题、导航栏) <header><h1>网站标题</h1><nav>...</nav></header> 页面顶部、文章/章节标题区域 <nav> 定义导航链接区域 <nav><ul><li><a href="#">首页</a></li></ul></nav> 网站主导航、侧边栏导航 <main> 定义页面主要内容(一个页面只能有一个) <main><article>...</article></main> 页面核心内容区域 <article> 定义独立的内容块(如博客文章、新闻) <article>& ...