统信UOS应用开发详解
①全新正版,现货速发,7天无理由退换货②天津、成都、无锡、广东等多仓就近发货,订单最迟48小时内发出③无法指定快递④可开电子发票,不清楚的请咨询客服。
¥
106.91
7.2折
¥
148
全新
库存4件
作者统信软件技术有限公司
出版社人民邮电出版社
ISBN9787115597342
出版时间2023-01
装帧平装
开本16开
定价148元
货号31639598
上书时间2024-10-12
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
统信软件以“打造操作系统创新生态”为使命,由国内领先的操作系统厂家于2019年联合成立。公司专注于操作系统等基础软件的研发与服务,致力于为不同行业的用户提供稳定、智能易用的操作系统产品与解决方案。
目录
第 1 篇 背景知识
第01章 操作系统简史
1.1 人工时代 003
1.2 批处理操作系统 003
1.2.1 联机批处理操作系统 003
1.2.2 脱机批处理操作系统 003
1.3 分时操作系统 004
1.3.1 UNIX 操作系统的诞生 004
1.3.2 可视化操作系统的演进 005
1.3.3 开源 Linux 的诞生与演进 005
第02章 国产操作系统
2.1 国产操作系统的必要性 007
2.2 国产操作系统统信 UOS 007
2.2.1 DDE 009
2.2.2 统信 UOS 生态环境 010
第 2 篇 应用开发
第03章 开发设计原则
3.1 同源异构 013
3.1.1 内核适配 013
3.1.2 ABI 兼容性 013
3.1.3 接口兼容性 014
3.2 兼容性原则 014
3.3 目录权限规范 014
3.4 界面设计理念 015
3.4.1 为用户而设计 015
3.4.2 设计解决的不是视觉问题 015
3.4.3 保持轻量 015
第04章 开发环境与开发工具
4.1 统信 UOS 的安装 018
4.1.1 物理机单系统安装 018
4.1.2 物理机多系统安装 022
4.1.3 VirtualBox 安装 023
4.1.4 统信 UOS 的基本使用 026
4.1.5 安装软件 028
4.2 常见的开发环境配置 029
4.2.1 DTK 开发环境 029
4.2.2 开发第 一个程序:HelloWorld 031
4.3 目录结构设计 037
4.3.1 项目目录规范 037
4.3.2 README 文件 037
4.4 版本控制系统 039
4.4.1 Git 基础知识 039
4.4.2 安装 Git 040
4.4.3 配置 Git 041
4.5 Git Flow 开发模型 042
4.5.1 主分支 043
4.5.2 辅助分支 043
4.6 版本号管理 044
4.7 统信 UOS 的开发者模式 044
4.7.1 潜在风险说明 045
4.7.2 开启方法 045
第05章 Qt 开发框架
5.1 Qt 基础模块 048
5.1.1 Qt Core 048
5.1.2 Qt GUI 065
5.1.3 Qt Widgets 068
5.1.4 Qt Test 081
5.2 Qt 扩展模块 091
5.2.1 Qt Concurrent 091
5.2.2 Qt BlueTooth 094
5.2.3 Qt D-Bus 097
5.2.4 Qt Image Formats 098
5.3 Qt WebEngine 概述 098
5.3.1 开发 Qt WebEngine Widgets 应用 099
5.3.2 开发与 Qt WebEngine 相关的
Qt Quick 应用 100
5.3.3 命令行参数 100
5.3.4 Qt WebEngine 其他说明 101
5.4 Electron 概述 102
5.4.1 Electron 开发环境 102
5.4.2 第 一个 Electron 程序 103
5.4.3 打包并分发第 一个应用 106
5.4.4 调试方法 106
5.5 常见问题 107
5.5.1 qmake 工程设置模块之间的编译依赖关系 107
5.5.2 CMake 工程设置模块之间的编译依赖关系 107
5.5.3 快速使用 QTimer 进行一次计时操作 108
5.5.4 Qt 单元测试发送事件到控件中 108
5.5.5 使用事件过滤器 111
5.5.6 信号和槽的连接参数 112
5.5.7 Qt 多线程常见使用方法 113
5.5.8 QWidget 坐标系的位置变换 114
5.5.9 Qt 版本区分 116
5.5.10 限制 QLineEdit 内容输入 117
5.5.11 Qt 通过信号与槽传递自定义结构体数据 118
5.5.12 Qt 界面控件自动关联信号与槽 119
5.5.13 QString 格式化字符串的使用 119
5.5.14 QDateTime 日期时间类的使用 120
第06章 DTK 开发框架
6.1 DTK 开发简述 123
6.2 DTK 功能模块介绍 123
6.3 DTK 程序框架创建 124
6.3.1 软件环境配置和开发包安装 124
6.3.2 创建 qmake 项目 125
6.3.3 创建 CMake 项目 127
6.4 DTK 图形控件使用 128
6.4.1 dtkwidget 的 public 类简介 128
6.4.2 DMainWindow 简介 130
6.5 DTK 常用组件 137
6.5.1 布局 137
6.5.2 进度、状态指示 143
6.5.3 输入框和编辑框 146
6.5.4 按钮与选项 150
6.5.5 消息通知与提示 155
6.6 DTK 中的设置界面框架 159
6.6.1 简介 160
6.6.2 示例 160
6.6.3 详解 161
第07章 DTK 高级开发
7.1 插件的工作原理 167
7.2 dde-dock 插件开发 167
7.2.1 dde-dock 插件接口 167
7.2.2 dde-dock 插件开发过程 169
7.3 dde-control-center 插件开发 184
7.3.1 dde-control-center 插件开发的准备工作 184
7.3.2 dde-control-center 插件接口 184
7.3.3 构建 dde-control-center 插件 185
7.3.4 插件加载原理 191
7.4 dfm 插件开发 192
7.4.1 准备工作 193
7.4.2 属性对话框插件 193
7.4.3 视图插件 197
7.4.4 面包屑插件 204
7.4.5 文件控制器插件 212
7.4.6 文件预览插件 219
7.5 PAM 插件 226
7.5.1 PAM 工作流程 226
7.5.2 PAM 配置文件介绍 227
7.5.3 PAM 主要操作函数 230
7.5.4 PAM 标准接口介绍 231
7.5.5 实现一个 PAM 插件 231
7.6 浏览器插件开发 233
7.6.1 NPAPI 插件 233
7.6.2 插件安装 234
7.6.3 插件识别 234
7.6.4 插件的生命周期 235
7.6.5 NAAPI 的插件开发 236
第08章 服务开发
8.1 systemd 服务开发 242
8.1.1 systemd 系统架构 242
8.1.2 unit 介绍 242
8.1.3 unit 管理 243
8.1.4 unit 服务配置文件 244
8.1.5 实例 245
8.1.6 systemd 调试 248
8.2 PolicyKit 服务开发 249
8.2.1 PolicyKit 系统架构 249
8.2.2 身份验证代理 250
8.2.3 声明操作 250
8.2.4 polkitd 252
8.2.5 pkcheck 252
8.2.6 pkaction 253
第09章 调试与性能优化
9.1 GDB 入门 256
9.1.1 何为 GDB 256
9.1.2 GDB 工作原理 256
9.1.3 调用和退出 GDB 256
9.1.4 GDB 基本命令 260
9.1.5 GDB 调试脚本 277
9.1.6 GDB 多线程调试 278
9.1.7 GDB 多进程调试 282
9.2 Qt Creator 中的调试和调优 286
9.2.1 代码调试 286
9.2.2 性能调优 291
9.3 使用 perf 进行性能分析 294
9.3.1 用法 294
9.3.2 事件类型 295
9.3.3 示例 296
9.4 使用 gperftools 进行性能分析 306
9.4.1 编译安装 gperftools 306
9.4.2 TCMalloc 307
9.4.3 heap checker 307
9.4.4 heap profile 310
9.4.5 CPU profiler 314
9.5 使用 gprof 进行性能分析 316
9.5.1 编译 profiling 程序 317
9.5.2 运行 profiling 程序 317
9.5.3 运行 gprof 318
9.5.4 gprof 输出样式 318
9.6 使用 Valgrind 与 Sanitizers 进行内存分析 321
9.6.1 Valgrind 321
9.6.2 Sanitizers 326
第 3 篇 发布与部署
第 10章 包格式
10.1 Debian 软件包 335
10.1.1 Debian 软件包概述 335
10.1.2 统信 UOS 系统安装 Debian 包 337
10.1.3 构建 deb 软件包 343
10.1.4 章节小结 358
10.2 RPM 358
10.2.1 RPM 软件管理命令 358
10.2.2 DNF 包管理器 361
10.2.3 构建 RPM 包 366
10.3 依赖分析与处理 371
10.3.1 软件包的依赖概述 371
10.3.2 UOS 系统上软件依赖分析方法及原理 371
10.3.3 UOS 系统使用过程中如何处理依赖 374
10.3.4 UOS 开发过程中常见的依赖问题 379
10.3.5 章节小结 380
第 11章 上架部署
11.1 应用规范 382
11.1.1 目录结构 382
11.1.2 权限规范 382
11.2 签名 382
11.2.1 签名机制 383
11.2.2 统信 UOS 应用签名 385
11.2.3 签名工具的使用 388
11.3 上架 389
11.3.1 应用商店介绍 390
11.3.2 准备工作 391
11.3.3 创建应用 392
11.3.4 上架 393
11.4 内网分发 393
11.4.1 私有化应用商店 394
11.4.2 部署流程 394
11.4.3 其他 398
第 4 篇 桌面应用开发实战
第 12章 经典应用案例
12.1 初级:简易文本编辑器 403
12.1.1 简述 403
12.1.2 应用主要功能 403
12.1.3 “关于”界面 404
12.1.4 主业务视图 408
12.1.5 标题栏 409
12.1.6 文本显示编辑框及行号栏 414
12.1.7 底部栏 422
12.2 初级:计算器 426
12.2.1 简述 426
12.2.2 应用主要功能 426
12.2.3 应用入口 427
12.2.4 应用主窗口内容添加 428
12.3 中级:相册 437
12.3.1 简述 437
12.3.2 图片加载 437
12.3.3 缩略图展示 438
12.3.4 大图展示 442
12.4 中级:邮箱客户端 444
12.4.1 简述 444
12.4.2 邮件引擎 444
12.4.3 数据结构 446
12.4.4 实例 447
12.5 高级:影院 448
12.5.1 简述 448
12.5.2 播放引擎介绍 448
12.5.3 播放引擎接口函数 449
12.5.4 实例 450
12.6 高级:音乐播放器 453
12.6.1 简述 453
12.6.2 音乐引擎介绍 453
12.6.3 音乐播放接口 453
12.6.4 实例 455
第 13章 系统接口案例
13.1 定时任务 460
13.1.1 cron 简述 460
13.1.2 systemd 简述 460
13.2 设备访问 462
13.2.1 摄像头 462
13.2.2 扬声器和麦克风 486
13.2.3 网络 504
13.2.4 蓝牙 511
13.3 通知接口的使用 520
13.4 托盘图标 525
13.4.1 QSystemTrayIcon 类 525
13.4.2 实例 527
第 5 篇 常见问题
第 14章 内核与驱动
14.1 内核编译 533
14.1.1 编译 x86/ARM 内核 533
14.1.2 交叉编译龙芯内核 533
14.1.3 AMD GPU 显卡驱动源码编译 534
14.2 GPIO 534
14.2.1 数据结构 534
14.2.2 驱动初始化流程 535
14.2.3 示例 535
14.3 input 子系统 536
14.3.1 输入设备驱动 536
14.3.2 应用示例 538
14.4 hwmon 子系统 539
14.4.1 hwmon 驱动 539
14.4.2 应用示例 541
14.5 LTP 542
14.5.1 LTP 执行原理 542
14.5.2 LTP 环境部署 542
14.5.3 安装目录 543
14.5.4 测试执行 543
14.6 驱动问题 543
14.6.1 网卡速度异常问题 543
14.6.2 USB 触摸板 S3 唤醒问题 544
14.6.3 HDMI 热插拔连接状态错误问题 546
第 15章 开发工具相关
15.1 其他开发工具 552
15.1.1 VS Code 552
15.1.2 JetBrains 系列 IDE 555
15.1.3 Eclipse 558
15.2 其他语言开发环境搭建 561
15.2.1 Node.js 561
15.2.2 Go 564
15.2.3 Rust 566
第 16章 常用资源
16.1 DTK 接口简要说明 570
16.1.1 DMainWindow 自定义快捷菜单 570
16.1.2 DApplication 接口函数 572
16.1.3 DTK 汉字转拼音 572
16.1.4 DListView DViewItemAction::setwidget 用法 572
16.1.5 打印预览 574
16.1.6 DAccessibilityChecker 的用法 575
16.1.7 自定义按钮背景色 576
16.1.8 帮助手册 577
16.1.9 日志文件 578
16.1.10 系统信息 579
16.1.11 系统通知 580
16.1.12 DRegionMonitor 580
16.2 Linux 开发常用资源 582
16.2.1 libc 手册 582
16.2.2 man 手册 582
16.2.3 编辑器 584
16.2.4 工具 585
16.2.5 代理 586
16.2.6 网络安全 586
16.2.7 文件共享 587
16.2.8 终端 587
16.2.9 图形界面 588
16.2.10 数据备份与恢复 588
16.2.11 控制台 589
16.2.12 包管理工具 589
内容摘要
本书是统信UOS应用开发指南,包括5篇,共16章。背景知识篇介绍操作系统简史以及国产操作系统;应用开发篇是本书的核心,包括开发设计原则、开发环境与开发工具、Qt开发框架、DTK开发框架、DTK插件开发、服务开发、调试与性能优化;发布与部署篇介绍包格式、上架部署;桌面应用开发实战篇介绍6个难度从初级、中级到高级的经典应用案例,以及系统接口案例;常见问题篇介绍内核与驱动、开发工具相关、常用资源,帮助读者进一步提升开发水平。 本书内容全面,理论与实践相结合,语言表达清晰、简洁,有利于读者参考学习。 本书适合统信UOS的开发人员阅读,有助于其全面掌握开发内容;也适合有志于参与统信生态构建的信创厂商、应用开发人员阅读参考。
主编推荐
统信软件致力于打造操作系统创新生态。一本涵盖开发设计原则、开发环境配置、Qt开发框架、DTK开发框架、服务开发、发布与部署、开发案例等知识的开发指南正合时宜。本书适合有志于参与统信生态构建的信创厂商、应用开发人员阅读参考。
● 从开发环境到发布与部署,应用开发全流程详解
● 自研开发框架DTK使用介绍,提升开发效率
● 6个桌面应用开发实战,学练结合
— 没有更多了 —
以下为对购买帮助不大的评价