编程进阶网 编程进阶网
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机的原理
  • 操作系统原理
  • 网络协议原理
  • 数据库的原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 技能之旅
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Kotlin精通
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接

杨充

专注编程 · 终身学习者
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机的原理
  • 操作系统原理
  • 网络协议原理
  • 数据库的原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 技能之旅
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Kotlin精通
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接
  • README
  • Android提升进阶

  • iOS开发和进阶

  • Web开发和进阶

  • Linux应用开发

    • Linux应用开发
      • 专栏定位
      • 学习路线图
      • 篇目总览
        • 模块 1:QML 声明式 UI 开发
        • 模块 2:QT 核心库实践
        • 模块 3:Linux 系统编程基础(🆕 10 篇)
        • 模块 4:CMake 工程化实践(📝 规划中 6 篇)
        • 模块 5:嵌入式部署与运维(📝 规划中 9 篇)
        • 模块 6:综合项目实战(🆕 4 篇)
      • 技术栈地图
    • QML基础入门

    • QT核心库实践

    • Linux系统编程

    • 综合项目实战

  • IoT智能硬件开发

  • Apps
  • Linux应用开发
杨充
2023-01-01
目录

Linux应用开发

# Linux 应用开发

基于 Qt/QML 技术栈的嵌入式 GUI 应用开发全链路——从 QML 声明式 UI 到 C++ 核心库,再到 Linux 部署运维。

# 专栏定位

目标读者:嵌入式 C++ 开发者 / 工业 HMI 开发者 / 从桌面转向嵌入式的 Qt 工程师
技术栈:  C++ × Qt 6.x × QML × CMake × Linux
产出能力:能独立开发、部署、优化运行在 ARM Linux 上的 Qt 图形应用

# 学习路线图

模块 1:QML 声明式 UI 开发(14 篇)  ← 从零写出嵌入式屏幕上的 UI
   ↓
模块 2:QT 核心库实践(10 篇)       ← 用 C++ 驱动底层能力
   ↓
模块 3:Linux 系统编程基础(10 篇)  ← 嵌入式开发的底座:系统调用/进程线程/IPC/内存
   ↓
模块 4:CMake 工程化实践(6 篇)     ← 交叉编译/依赖管理/CI/CD(📝 规划中)
   ↓
模块 5:嵌入式部署与运维(9 篇)     ← OTA/守护/systemd/安全(📝 规划中)
   ↓
模块 6:综合项目实战(4 篇)         ← 车载仪表/智能家居/工业HMI 三大实战

# 篇目总览

# 模块 1:QML 声明式 UI 开发

# 名称 核心内容
01 嵌入式GUI技术全景 (opens new window) Qt 架构概览 / 嵌入式GUI选型 / 第一个程序
02 QML引擎与渲染原理 (opens new window) QQmlEngine / Scene Graph 渲染管线 / 批处理 / 双线程模型
03 QML语法与类型系统 (opens new window) QML 类型系统 / 属性-信号-方法 / JavaScript 集成
04 属性绑定与响应式 (opens new window) 属性绑定原理 / 依赖图 / Binding / Connections
05 可视元素与布局原理 (opens new window) Item / Rectangle / Text / Image / 锚布局 / 定位器 / Grid
06 事件处理与传播机制 (opens new window) 鼠标 / 键盘 / 触摸事件 / 事件传播 / 手势
07 模型视图架构原理 (opens new window) ListModel / ObjectModel / ListView / GridView / C++ Model
08 动画与状态机原理 (opens new window) 动画系统 / 状态机 / Transition / 缓动曲线
09 Canvas与自定义渲染 (opens new window) Canvas 2D API / 路径绘制 / 数据可视化 / 自定义绘制
10 QML与C++集成原理 (opens new window) 上下文属性 / 类型注册 / 信号槽跨语言通信
11 自定义SceneGraph节点 (opens new window) QSGNode / 自定义材质 / 着色器 / 渲染优化

# 模块 2:QT 核心库实践

# 名称 核心内容
01 核心功能基础 (opens new window) QObject 模型 / 元对象系统(MOC) / Q_PROPERTY / 对象树
02 并发与多线程 (opens new window) QThread / moveToThread / QMutex-QSemaphore / QtConcurrent
03 文件与IO系统 (opens new window) QFile-QDir / 文本流 / 内存映射 / 文件监听
04 日期与时间处理 (opens new window) QDateTime / 格式化 / 时区 / 定时器
05 网络与序列化 (opens new window) TCP/UDP Socket / HTTP / JSON/XML 序列化
06 QT事件系统 (opens new window) 事件循环 / 事件过滤器 / 自定义事件 / 发送与传播
07 信号与槽机制 (opens new window) connect 五种语法 / Lambda 槽 / 跨线程信号 / 阻塞信号
08 多媒体的应用 (opens new window) QMediaPlayer / 音频播放 / 视频渲染
09 容器类和算法 (opens new window) QList-QMap-QHash / 隐式共享 / Qt 算法库 / STL 对比
10 高级编程技巧 (opens new window) 智能指针 / 设计模式 / 单元测试 / 调试技巧

# 模块 3:Linux 系统编程基础(🆕 10 篇)

# 名称 核心内容
01 系统调用原理精讲 (opens new window) 用户态/内核态切换、系统调用开销、POSIX标准、glibc、man手册体系
02 文件IO深度解析 (opens new window) open/read/write/lseek、文件描述符、O_DIRECT/O_SYNC、零拷贝sendfile/splice
03 进程管理深度解析 (opens new window) fork/vfork/clone、exec家族、僵尸/孤儿进程、waitpid、进程组/会话/守护进程
04 线程并发深度解读 (opens new window) pthread_create、互斥锁/条件变量/读写锁/自旋锁、线程局部存储(TLS)、线程池
05 信号处理深度解读 (opens new window) 信号生命周期(产生→递达→处理)、sigaction、信号屏蔽字、SIGPIPE/SIGCHLD实战、signalfd
06 进程间通信IPC (opens new window) pipe/FIFO、System V IPC(消息队列/共享内存/信号量)、Unix Domain Socket、mmap共享
07 网络IO多路复用 (opens new window) socket API、TCP状态机、I/O多路复用(select/poll/epoll)、Reactor模式、tcpdump分析
08 内存管理深度解读 (opens new window) 虚拟地址空间布局(/proc/pid/maps)、malloc原理(brk/mmap)、valgrind/ASan检测、内存碎片
09 动态链接与共享库 (opens new window) ELF结构、符号解析、LD_PRELOAD、dlopen/dlsym、RPATH/RUNPATH陷阱、静/动态链接权衡
10 Linux与定时器 (opens new window) CLOCK_MONOTONIC vs CLOCK_REALTIME、timerfd、高精度定时器、NTP跳变防护

# 模块 4:CMake 工程化实践(📝 规划中 6 篇)

# 名称 核心内容
01 CMake现代核心语法 target-based设计、PUBLIC/PRIVATE/INTERFACE、generator expressions、3.20+新特性
02 交叉编译工具链全解 toolchain file编写、sysroot概念、Yocto SDK集成、多ABI(armv7/aarch64)、QEMU仿真测试
03 依赖管理与包分发 find_package、FetchContent/CPM、vcpkg/conan集成、自建预编译仓库、版本锁定
04 代码质量与静态分析 clang-tidy/clang-format、AddressSanitizer/UBSan/TSan、LCOV覆盖率、CTest单元测试框架
05 编译优化与包体积精简 LTO(链接时优化)、-Os vs -O2选择、strip符号裁剪、资源压缩、prelink启动加速
06 CI/CD与自动化构建 GitHub Actions/GitLab CI 交叉编译流水线、Docker编译容器、deb/rpm打包、OTA增量包生成

# 模块 5:嵌入式部署与运维(📝 规划中 9 篇)

# 名称 核心内容
01 嵌入式Linux部署全览 镜像构建(Yocto/Buildroot)、分区布局、init系统选择(systemd vs BusyBox)
02 systemd服务管理实战 unit文件编写、依赖关系、cgroup资源限制、journald日志、socket activation
03 应用守护与保活策略 daemon化、systemd watchdog、心跳检测、多级保活链、重启退避算法
04 崩溃捕获与现场保存 signal handler、core dump配置、backtrace符号化、minidump收集、OOM killer日志
05 日志系统设计 syslog/journald、应用日志分级、结构化日志(JSON)、logrotate轮转、远程日志上报
06 OTA升级方案设计 A/B分区、增量升级(bsdiff/courgette)、回滚机制、断点续传、版本管理
07 资源监控与调优 CPU/内存/IO/网络监控(top/proc/netstat)、cgroup限制、perf火焰图、启动时间优化
08 安全加固实践 最小权限、capabilities、seccomp沙箱、SELinux/AppArmor、磁盘加密、安全启动
09 真机调试与问题定位 gdbserver远程调试、strace动态追踪、core dump交叉分析、eBPF/bpftrace探针

# 模块 6:综合项目实战(🆕 4 篇)

# 名称 核心内容
01 深入项目架构设计 (opens new window) 需求分析→模块拆分→技术选型→目录规划、多进程 vs 多线程架构决策
02 车载仪表盘项目实战 (opens new window) QML仪表UI、CAN总线数据接入、实时渲染优化、冷启动<2秒
03 智能家居控制面板 (opens new window) 触控交互设计、MQTT协议对接、场景联动逻辑、低功耗Standby模式
04 工业HMI看板实战 (opens new window) Modbus/OPC UA协议、实时数据曲线、报警管理、多语言/多分辨率适配

# 技术栈地图

         ┌──────────────┐
         │   QML Layer  │  声明式 UI / 动画 / 组件
         └──────┬───────┘
         ┌──────┴───────┐
         │   C++ Layer  │  Qt Core / Network / Thread
         └──────┬───────┘
         ┌──────┴───────┐
         │  Linux Layer  │  进程管理 / 守护 / 日志
         └──────┬───────┘
         ┌──────┴───────┐
         │ Hardware Layer│  ARM SoC / framebuffer / 触摸屏
         └──────────────┘
上次更新: 2026/07/12, 19:39:51
前端性能的优化
QML基础入门

← 前端性能的优化 QML基础入门→

最近更新
01
audit
07-27
02
C++入门教程全章思考题汇编
07-24
03
12.技术团队建设能力
07-21
更多文章>
Theme by Vdoing | Copyright © 2019-2026 杨充 | MIT License | 鄂ICP备2024073355号-1 | 鄂ICP备2024073355号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式