迎風吹頭髮
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
把 Linux 的屏幕搬进 Windows 窗口
本文介绍一款轻量级远程屏幕共享工具:服务端用纯C直接读取Linux帧缓冲 /dev/fb0,通过内嵌lodepng编码为PNG,经TCP(6000端口)推送;客户端基于Qt解包、解码并按需刷新显示。协议极简,仅以4字节大端长度头标识帧,支持客户端动态调节帧率(20–50ms),实现“最新帧优先”显示与等比缩放。全链路零外部依赖,适用于嵌入式无头设备调试,实测1920×720画面@5fps仅约8.1Mbps带宽,兼顾性能与可靠性,体现底层直读与最小可行设计的精髓。原创 2026-09-24 11:41:17 · 2 阅读 · 0 评论 -
Linux Framebuffer 截屏工具
本文介绍在无GUI的嵌入式Linux环境下,通过直接读取/dev/fb0帧缓冲实现截屏的极简方案。利用mmap映射显存,结合ioctl获取屏幕参数,将32bpp ARGB数据转为24位BMP格式,手动构造54字节BMP头,倒序写入像素并处理行对齐填充。代码零依赖,适用于无X11/Wayland环境,可快速用于调试与开发。原创 2026-09-23 17:30:02 · 6 阅读 · 0 评论 -
无锁双实例软件看门狗:嵌入式Linux轻量级软狗完整实现
本文介绍了一种基于GCC原子操作的无锁软件看门狗(SoftWatchdog)设计方案,具有热重启、多线程安全等特性。核心采用双实例+原子变量版本控制机制,通过__sync原子指令实现无阻塞操作,避免了传统互斥锁的性能瓶颈。系统支持动态切换实例、错误隔离、精准定位卡死任务,并通过10种测试场景验证了容错性和稳定性。该方案适用于嵌入式Linux环境,仅需5个基础API接口,具有低CPU开销、实时性强等优势,同时文章也指出了单实例限制等不足,并提供了完整实现代码和标准使用模板。原创 2026-08-06 11:23:58 · 20 阅读 · 0 评论 -
纯C无依赖二维码生成工具:从qrcodegen到自定义网页二维码导出
本文介绍了一个基于纯C语言的二维码生成工具qrtool,支持BMP位图和HTML矢量两种输出格式。该工具整合了Nayuki的qrcodegen二维码库和配套BMP导出功能,新增了命令行参数解析和HTML输出模块。核心特点包括:零外部依赖、跨平台运行、支持自定义文本内容/纠错等级/尺寸边距等参数。特别对HTML输出进行了优化,生成的SVG矢量二维码具有无损缩放特性,适用于网页嵌入和打印场景。文章详细说明了代码架构、编译方法、使用示例,并提出了颜色自定义、Logo嵌入等后续优化方向。方案轻量高效,适合嵌入式。原创 2026-07-24 10:47:18 · 16 阅读 · 0 评论 -
全志T113嵌入式Linux:NAND分区实现Swap交换分区实战踩坑与最优方案
本文针对全志T113芯片(128MB物理内存)在运行复杂应用时内存不足的问题,提出安全可靠的Swap扩容方案。通过实测对比三种实现方式,指出直接对MTD裸分区mkswap会导致UBIFS永久损坏和NAND闪存极速损耗的严重问题。推荐采用EXT4文件系统内创建SwapFile的方案,详细演示了分区格式转换、Swap文件创建和内核参数优化步骤。该方案相比裸分区Swap可显著降低闪存磨损,保持文件系统完整性。原创 2026-06-03 17:13:33 · 41 阅读 · 0 评论 -
基于UDP的简易的VPN中继系统实现:端点客户端与中继服务器
本文实现的VPN中继系统基于UDP和TUN设备,以轻量级、易部署为核心设计理念,满足小型私有网络互通、跨网段通信等场景需求。系统核心优势在于无需复杂的内核模块开发,纯用户态实现IP层数据转发,同时通过心跳保活、自动重连、端点列表同步等机制保证通信稳定性。通过本文的解析,开发者可快速理解VPN中继系统的核心原理,并基于现有代码扩展更多高级功能。原创 2026-03-30 11:45:57 · 56 阅读 · 0 评论 -
Qt 纯数字虚拟键盘设计与实现
本文介绍了在Qt中实现纯数字虚拟键盘的解决方案。针对小屏幕设备上传统键盘按钮过小、易误触的问题,作者开发了一个单独的数字键盘组件。该方案具有以下特点:1) 按键尺寸大,减少误触;2) 采用单例模式实现全局唯一实例;3) 通过事件过滤器自动检测输入框点击;4) 支持样式定制。实现过程中解决了布局间距控制、键盘位置计算等技术难点,并提供了CMake和QMake两种构建方式。该键盘组件具有易移植、高性能的特点,适合嵌入式触屏设备使用。原创 2026-03-20 11:52:34 · 82 阅读 · 0 评论 -
解决rcS脚本启动程序环境变量缺失:bash -lc 实用技巧
嵌入式Linux开发中,程序在rcS里开机自启时经常出现环境变量缺失,手动运行却正常。本文从原理讲清楚为什么rcS环境变量少,并给出最简洁稳定的方案:bash -lc 启动程序,一行命令解决问题。原创 2026-03-03 15:33:18 · 95 阅读 · 0 评论 -
带触摸屏的usb屏幕调试记录
摘要:开发者在RK3568和全志T113_i开发板上使用带HDMI和USB接口的触摸屏时遇到触摸不准问题。通过检查/dev/input下的event节点和I2C总线确认硬件连接正常,最终发现是触摸偏移导致。使用ts_calibrate工具校准后问题解决,证实是常见的触摸屏校准需求而非驱动问题。(149字)原创 2026-02-09 09:43:36 · 94 阅读 · 0 评论 -
一个程序模拟 直流绝缘监测仪,一个程序模拟 直流绝缘监测仪上位机
按照文档写了两个代码,模拟下面这个 直流绝缘检测仪原创 2026-01-26 10:43:51 · 56 阅读 · 0 评论 -
Linux 虚拟串口实战:socat 打造全双工串口通信环境
本文介绍如何使用socat命令在Linux系统中创建虚拟串口对,实现全双工数据透传。通过核心命令"sudosocat-d-d pty,raw,echo=0,link=/dev/ttyUSB0 pty,raw,echo=0,link=/dev/ttyUSB1",可快速创建映射到/dev/ttyUSB0和/dev/ttyUSB1的虚拟串口。文章详细解析了调试参数、串口模式参数和设备映射参数的功能,并提供了完整的操作步骤和通信验证方法。该方法适用于嵌入式开发、工控系统测试等场景,解决了物理串口原创 2026-01-26 10:39:02 · 183 阅读 · 0 评论 -
卡尔曼滤波实战
本文介绍了在嵌入式开发中应对传感器数据波动的卡尔曼滤波实用方案。文章首先通过QT和纯C语言两种环境提供了可直接复用的代码实现,重点讲解了如何通过静态变量保存滤波状态,无需复杂封装。针对参数调试难题,提出了"波动大调大R,变化快调大Q"的实用口诀,并给出了常见场景的参数参考值。该方法避免了复杂的数学推导,从工程实用角度出发,帮助开发者快速解决ADC采样、温度测量等场景下的数据噪声问题,实现平滑稳定的数据输出。原创 2025-11-21 12:04:39 · 305 阅读 · 0 评论 -
SQLite WAL模式深度解析:并发读写优化与实战揭秘
SQLite WAL模式核心技术解析 SQLite的WAL(预写日志)模式是一种突破性的并发优化方案,主要解决传统DELETE模式下的读写互斥问题。核心优势包括: 并发性能:支持1个写操作和多个读操作同时执行 ACID保障:保持事务特性,崩溃后可恢复 无缝迁移:仅需PRAGMA journal_mode=WAL即可启用 关键技术实现: 写操作先记录到.wal文件,不直接修改主数据库 读操作通过合并主数据库和wal日志获取最新数据 数据库级模式切换,所有连接自动适配 实战案例显示,WAL模式下查询进程可每秒执原创 2025-11-14 10:34:11 · 505 阅读 · 0 评论 -
全志T113_i平台点亮MIPI屏
本文记录在T113_i开发板上点亮MIPI屏幕的过程。主要修改两个设备树文件,调整了屏幕参数如分辨率、时序等。调试中发现背光有问题,经硬件处理后解决;屏幕仍不亮,最终发现lcd_dclk_freq参数设置过大(159),调整为93后成功点亮。总结三点关键:检查背光电路、保证复位时序、循序渐进调整时钟频率。原创 2025-11-11 15:53:08 · 594 阅读 · 0 评论 -
Linux C 高精度多定时器实现:基于 timerfd 与函数指针的灵活封装
本文介绍了一种基于timerfd与线程的Linux高精度多定时器实现方案。该方案采用CLOCK_MONOTONIC时钟,支持纳秒级定时精度,通过函数指针回调机制实现灵活的任务扩展,每个定时器对应独立线程,可并行管理多个定时器。核心设计包括多定时器索引管理、互斥锁保护、高精度时间戳等功能,适用于嵌入式开发等对定时精度要求高的场景。文章详细分析了技术选型原因、核心实现逻辑,并提供了完整的代码示例和精度测试结果,展示了50ms定时任务的误差小于0.1ms的优秀性能。原创 2025-10-17 09:49:43 · 217 阅读 · 0 评论 -
Qt5 实现灵活可控的滚动字幕效果
本文详细介绍了基于QtWidgets实现滚动字幕组件的开发方法。通过QLabel控件和QTimer定时器结合,实现文本从右向左的平滑滚动效果,并支持速度调节、暂停/继续、窗口自适应等功能。文章从需求分析、技术选型、UI设计到核心代码实现(包括定时器控制、滚动逻辑、交互响应等)进行了完整讲解,并提供了常见问题的解决方案和优化建议。该方案采用可视化UI设计,无需自定义组件类,易于维护且兼容Qt5.x/6.x版本,适用于系统通知、设备状态提示等多种场景,具有跨平台、易扩展等特点。原创 2025-10-17 09:48:52 · 329 阅读 · 0 评论 -
QT5绘图和数据可视化的CustomPlot C++组件安装及使用
本文介绍了使用Qt的QCustomPlot组件实现数据可视化的方法。内容包括:1)安装步骤,通过下载库文件并配置.pro文件;2)基本使用,包括创建绘图区域、绘制曲线和样式定制;3)常见功能示例,如实时数据更新和多曲线绘制;4)问题解决方案,包括编译错误处理和性能优化建议。QCustomPlot是一个轻量级、高性能的Qt绘图库,特别适合实时数据显示,支持OpenGL加速可处理大规模数据。文章提供了从基础到进阶的完整指导,帮助开发者快速实现类似股票走势图的数据可视化功能。原创 2025-09-26 09:52:47 · 953 阅读 · 0 评论 -
RK3568下QT实简易文件浏览器
本文介绍基于Qt框架实现桌面文件浏览器的开发方案。通过组合QFileSystemModel(文件系统模型)和QTreeView(树形视图)等核心组件,构建具备路径导航、实时更新的文件浏览器。文章详细阐述了MVC架构的实现原理,包括模型初始化、视图绑定、信号槽连接等关键技术,并提供了代码结构解析和功能扩展方向。该方案展现了Qt组件化开发的高效性,仅需少量代码即可实现跨平台文件浏览功能,为后续开发更复杂的桌面系统组件奠定基础。原创 2025-09-16 16:20:17 · 173 阅读 · 0 评论 -
RK3568开发板-通过笔记本上网
本文提供了一套跨系统网络共享方案,指导如何将Windows 10笔记本的无线网络通过有线连接共享给RK3568开发板。主要内容包括:1)在Windows端配置网络共享,将有线网卡IP设为192.168.137.1;2)在Linux开发板上临时/永久设置网关为192.168.137.1;3)介绍route命令实现路由配置。方案覆盖了从Windows共享设置到Linux网关配置的完整流程,适合不同基础的开发者实现设备间网络共享。原创 2025-09-16 14:25:12 · 464 阅读 · 0 评论 -
QT5 UI界面上Scroll Area控件显示滚动条
本文简要介绍Qt中ScrollArea控件的设置步骤:首先拖入控件,然后设置滚动条显示方式,取消ScrollBarAlwaysOn勾选,编译运行后添加内容测试。最后调整窗口大小即可正常使用滚动条功能。全文简明扼要地说明了ScrollArea控件的基本配置流程。原创 2025-08-22 10:03:49 · 203 阅读 · 0 评论 -
RK3568之深入理解C语言结构体位域
本文探讨了C语言结构体位域的内存布局规则及其潜在问题。在小端机器环境下,结构体成员地址遵循"先声明成员存于低地址"的规则,而位域在存储单元内的位序表现为"低位在前"。大端机器则呈现相反的"高位在前"特性。位域的这种不确定性在跨平台开发和通信协议处理中可能引发问题。建议在敏感场景使用基础类型配合位运算手动控制位序,仅在固定环境使用位域时需添加详细注释说明。文章通过代码示例验证了地址顺序和位序规则,并提出了针对性的开发实践建议。原创 2025-08-21 11:55:53 · 97 阅读 · 0 评论 -
用 Enigma Virtual Box 将 Qt 程序打包成单 exe
本文介绍使用EnigmaVirtualBox工具将Qt多文件程序打包为单一exe的方法。首先需完成windeployqt基础打包确保程序可运行,然后通过EnigmaVirtualBox添加所有依赖文件和子文件夹,设置压缩选项后生成单文件程序。注意事项包括避免中文路径、检查版本兼容性及处理杀毒软件误报。该方法简化了程序分发流程,但会略微增加文件体积和内存消耗,用户可根据需求选择单文件或多文件版本。原创 2025-08-15 14:27:42 · 296 阅读 · 0 评论 -
用Qt自带工具windeployqt快速打包程序
摘要:本文介绍了使用Qt自带的windeployqt工具打包Windows程序的方法。首先需在Release模式下编译程序,然后通过Qt命令行工具执行windeployqt命令,自动分析并拷贝程序所需的Qt库文件、插件和翻译文件到指定目录。该方法能快速解决程序依赖问题,确保程序可直接运行,适合分发多文件版本。最后提到如需制作单exe文件,可参考EnigmaVirtualBox工具的使用教程。原创 2025-08-15 14:11:51 · 1141 阅读 · 0 评论 -
编程小技巧:让某些函数在main函数之前执行
C语言中,main函数虽是程序逻辑入口,但实际执行前已有代码运行。文章介绍了三种在main前执行代码的方法:1)使用GCC的__attribute__((constructor))属性标记函数;2)通过全局变量初始化(但C语言不支持函数返回值初始化);3)嵌入式系统中的自定义启动代码。这些机制可用于资源初始化、环境检查等场景,但需注意编译器兼容性、执行顺序不可控等问题。虽然这些技术强大,但应谨慎使用,避免破坏代码可维护性。文章还指出示例代码中全局变量用函数初始化的错误(C语言不允许这种写法)。原创 2025-08-07 16:26:27 · 198 阅读 · 0 评论 -
RK3568下用 Qt Charts 实现曲线数据展示
本文介绍了基于QtCharts模块开发的多参数环境监测实时曲线系统。系统采用Qt5框架,通过2×2网格布局同时展示温度、湿度、气压和噪声四个参数的动态变化曲线。核心技术包括:1)使用QChartView和QLineSeries构建独立图表组件;2)实现基于时间戳的动态数据更新机制;3)开发坐标轴自适应算法保持合适显示范围;4)采用基于上一次值的波动算法模拟真实传感器数据。该系统具有界面美观、功能完善的特点,可扩展接入真实传感器或报警功能,适用于工业监控、智能家居等多个场景,展示了QtCharts在数据可视化原创 2025-08-06 17:58:28 · 155 阅读 · 0 评论 -
RK3568下实现Modbus RTU协议传感器数据
摘要:本文介绍了在RK3568开发板上实现Modbus RTU主从机通信的方法,通过UART7串口连接RS-485接口的温湿度、噪音、气压传感器。详细说明了硬件接线方式(红线接A、黑线接B)和供电要求,并提供了完整的C语言代码实现。代码包含串口初始化、数据读写及传感器数据解析(温度、湿度、噪声、气压)功能,最后将处理后的数据存入文件供QT界面显示。该方案成功实现了传感器数据的采集与传输。原创 2025-08-06 17:47:01 · 292 阅读 · 0 评论 -
RK3568下使用Qt 绘制实现实时坐标曲线
摘要:本文介绍了使用Qt Charts模块实现实时温度曲线图的方法。主要内容包括:1)QChart相关类库的结构与功能,如QChart、QAbstractSeries和QChartView等;2)基于QGraphicsView框架的图形显示机制;3)具体实现步骤,包括图表初始化、坐标轴配置、定时数据更新和动态范围调整等技术要点;4)优化建议,如改进时间轴逻辑、内存管理和数据源处理等。示例代码展示了如何通过QLineSeries、QTimer和坐标轴联动实现温度数据的实时可视化,为Qt数据可视化开发提供了实用原创 2025-08-05 14:55:01 · 433 阅读 · 0 评论 -
本地通信的选择:为什么组播比广播更适合多进程协作?
摘要: Linux本地通信中,组播支持多进程接收消息而广播不行,主要源于设计机制差异。组播通过组成员管理(如IP_ADD_MEMBERSHIP)明确接收者,允许多进程绑定同一端口并复制数据,且默认支持回环接口转发。广播则因无成员管理、端口绑定排他性(需SO_REUSEADDR)及回环限制,难以实现多进程接收。组播适合本地多进程协作(如服务发现),广播更适用于跨主机子网通知(如DHCP)。开发中优先选择组播以确保可靠通信。原创 2025-07-31 09:53:58 · 196 阅读 · 0 评论 -
RK3568下的Linux本地组播·实现多进程自组网通信
本文介绍了使用本地组播技术实现Linux多进程通信的方案。相比TCP星形总线和UDP网状组网,本地组播具有代码简单、实现方便的优势。文章提供了一个完整的C语言实现,包含组播配置、节点自动发现、消息收发和节点管理功能。关键点包括:1) 使用224.0.0.100本地组播地址;2) 通过双线程设计实现消息收发分离;3) 采用互斥锁保护共享节点列表;4) 支持list命令查看在线节点。该方案特别适合同一设备上多进程间的自组织网络通信,具有高效、轻量级的特点,可扩展用于服务发现、配置同步等分布式场景。原创 2025-07-31 09:39:52 · 127 阅读 · 0 评论 -
RK3568下的进程间通信:基于UDP的mash网络节点通信
本文介绍了一个基于UDP协议的简易mash网络节点通信系统实现。系统采用去中心化架构,支持动态节点发现、消息广播转发和TTL控制等核心功能。关键技术包括:1)使用UDP协议实现轻量级节点通信;2)通过自定义消息格式(类型|源节点|路径|TTL|内容)实现消息解析与转发;3)采用多线程模型分离消息接收与用户输入处理;4)实现静态配置和动态发现相结合的节点管理机制。系统可作为mash网络编程的基础框架,支持扩展消息可靠性、节点状态检测等功能。实验结果表明该系统能有效实现多节点间的消息广播和路径转发,TTL机制可原创 2025-07-30 16:09:34 · 398 阅读 · 0 评论 -
RK3568下的进程间广播通信:用C语言构建简单的中心服务器
本文介绍了一个基于TCP协议的简易多进程广播通信系统实现方案。该系统采用客户端-服务器架构,包含服务器端(server.c)和客户端(client.c)两部分代码。服务器使用多线程处理最多10个并发客户端连接,接收任意客户端消息后添加发送者标识(IP:端口)并广播给其他所有客户端。客户端通过独立线程异步接收服务器广播消息,主线程处理用户输入。文章详细解析了代码实现,包括网络编程核心步骤(socket-bind-listen-accept/connect)、多线程同步机制(pthread_mutex)、字节序原创 2025-07-29 15:17:02 · 121 阅读 · 0 评论 -
RK3568下4G模块ECM模式拨号上网及带宽测试教程
本文介绍了4G模块在嵌入式开发中的ECM模式配置及带宽测试方法。首先通过microcom工具检测串口通信,使用AT命令将模块切换至ECM模式获取基站分配的IP实现上网;然后使用iperf3工具进行多组带宽测试,在100MB、10MB和50MB不同数据量下测得室内环境下带宽约为21Mbits/sec(约2.6MB/s)。该方案为4G模块开发提供了完整的性能测试流程,包括模式配置、网络连接验证和带宽测试等关键环节,具有实际应用参考价值。原创 2025-07-28 11:56:09 · 785 阅读 · 0 评论 -
QCheckBox 调整复选框大小
摘要:在QT客户端开发中,通过设置样式表可以调整复选框的大小。当字体变大而方框仍小时,只需在ui->setupUi(this)后添加样式代码:ui->checkBox_timer->setStyleSheet("QCheckBox::indicator{width:40px;height:40px;}")。其中40px可调整为80px等更大值,注意该操作必须放在setupUi之后才能生效。原创 2025-07-24 09:36:07 · 577 阅读 · 0 评论 -
某种物联网SIM卡流量查询方法
【摘要】物联卡作为运营商推出的专用流量卡,自2016年起就提供比普通套餐更优惠的资费(如53元6G全国流量)。这类卡专为物联网设备设计,不具备语音功能,但流量资费仅为普通卡的1/3-1/4。与普通SIM卡相比,物联卡采用集团批量销售模式,不支持实名制,需警惕不法商家借机收集个人信息。文中推荐物通云平台,其4G网络稳定、套餐灵活且技术领先,适合物联网设备使用。同时介绍了通过AT指令查询SIM卡流量剩余的方法。原创 2025-07-23 10:22:14 · 432 阅读 · 0 评论 -
RK3568下Quectel_EM05_LTE_Standard_模块/4G模块使用
本文详细记录了Quectel EM05 4G模块在嵌入式Linux环境下的测试过程。通过硬件接口分析、驱动配置和AT指令调试,成功实现模块识别和ECM模式上网。关键步骤包括:正确连接MiniPCIE接口、加载USB驱动、使用AT指令检测信号和网络状态(AT+CSQ/AT+CREG等),以及配置ECM模式建立网络连接。文章还提供了常见问题解决方法,如设备识别失败、网卡未生成等。测试表明,该模块在RK3568开发板上运行稳定,只需遵循"接口-MiniPCIE、通信-USB、联网-ECM"的核原创 2025-07-23 10:16:21 · 442 阅读 · 0 评论 -
RK3568下使用C代码实现CAN总线接口发送和接收
本文介绍了一个基于Linux Socket CAN的通信程序,支持CAN帧的发送和接收功能。程序通过命令行参数指定CAN接口和操作模式(recv/send),接收模式下持续监听并打印CAN帧数据,发送模式则发送预设的测试帧。代码实现了CAN帧的格式化打印功能,并支持通过信号处理优雅地终止接收循环。该程序可作为CAN通信的基础框架,用户可根据实际需求扩展业务逻辑。程序使用标准的Linux CAN接口,支持交叉编译后在嵌入式设备上运行。原创 2025-07-23 09:48:34 · 425 阅读 · 0 评论 -
RK3568下CAN总线接口测试
本文以RK3568评估板为例,详细介绍了CAN接口测试方法。首先通过双绞线连接两块评估板的CAN0接口,并配置1Mbps波特率启动总线。测试过程包括使用candump命令接收数据和cansend命令发送标准帧/扩展帧数据,验证CAN接口的收发功能。文中提供了完整的测试命令和接线说明,为嵌入式开发中CAN接口的稳定性测试提供了实用指导。原创 2025-07-23 09:41:25 · 371 阅读 · 0 评论 -
RK3568下CAN总线的接线端子使用
RK3568开发板的接线端子分上下两排,上排为485接口,下排为CAN接口。使用时需先将端子从开发板拔出。接线时直接将CAN双绞线插入接线孔,内部卡扣会固定线头;拔线时需用力按压黄色按钮(内置弹簧)即可轻松取出线头。下期将介绍如何通过CAN实现两块开发板间的通信。原创 2025-07-23 09:18:42 · 444 阅读 · 0 评论 -
搞懂三种常见的CAN报文排列格式-Motorola_MSB、Motorola_LSB与Intel
摘要: 本文详解CAN总线通信的三种报文格式(Motorola_MSB、Motorola_LSB、Intel),解析其字节序(大端/小端)和位序(MSB/LSB)差异。通过二进制示例说明数据存储规则:Motorola_MSB采用大端字节序且字节内高位优先;Motorola_LSB为大端但字节内低位优先;Intel为小端字节序且默认字节内高位优先。强调理解这些格式对汽车电子开发的重要性,需根据协议规范选择正确格式以避免解析错误。(150字)原创 2025-07-04 11:53:50 · 2154 阅读 · 0 评论 -
在Linux环境中使用libxlsxwriter库生成Excel文件
摘要:介绍Linux环境下使用C语言库libxlsxwriter生成Excel文件的方法。该开源库提供简洁API,支持数据写入、格式设置和图表插入等功能。文章详细说明安装步骤(源码编译或压缩包安装),并给出创建Excel文件的基本示例代码。同时介绍高级功能(单元格格式、图表插入、工作表保护)和运行时常见问题解决方案,如动态链接库加载错误。该库轻量高效,遵循MIT许可证,适用于服务器端批量报表生成等场景。原创 2025-06-16 17:25:21 · 202 阅读 · 0 评论
分享