本书从开发者的角度出发,以智能农业系统项目贯穿全书,并通过通俗易懂的语言,丰富多彩的实例,详细介绍在Linux系统下使用C语言进行应用开发应该掌握的各方面技术。全书共7章,包括Linux概述、文件系统、进程、进程间通信、线程、网络编程和数据库编程。
本书适合作为高等学校各专业的Linux程序设计课程教材,也可作为从事计算机相关工作的科技人员、计算机爱好者及各类自学人员参考。
前辅文 第1章 Linux概述 任务驱动 学习路线 本章目标 1.1 Linux简介 1.1.1 Linux应用开发介绍 1.1.2 系统调用与库函数 1.2 Ubuntu版本 1.2.1 Ubuntu衍生版 1.2.2 Ubuntu官方网址 1.3 开发工具 1.3.1 vi 1.3.2 GCC 1.3.3 GDB 1.3.4 编程库 1.3.5 一个简单的Linux C程序 1.4 工程管理工具 1.4.1 make 1.4.2 Makefile 1.5 贯穿任务实现 1.5.1 实现【任务1-1】 1.5.2 实现【任务1-2】 本章总结 小结 Q&A 章节练习 习题 第2章 文件操作 任务驱动 学习路线 本章目标 2.1 Linux文件 2.1.1 文件类型 2.1.2 文件权限 2.1.3 文件描述符 2.2 底层文件访问 2.2.1 open系统调用 2.2.2 write系统调用 2.2.3 read系统调用 2.2.4 lseek系统调用 2.2.5 close系统调用 2.3 标准I/O访问 2.3.1 文件流 2.3.2 格式化输入/输出 2.3.3 基本操作函数 2.4 错误处理 2.5 高级操作 2.5.1 文件锁 2.5.2 多路复用 2.6 贯穿任务实现 2.6.1 实现【任务2-1】 2.6.2 实现【任务2-2】 2.6.3 实现【任务2-3】 本章总结 小结 Q&A 章节练习 习题 第3章 进程 任务驱动 学习路线 本章目标 3.1 进程概述 3.1.1 进程定义 3.1.2 进程特征 3.1.3 进程号 3.1.4 进程结构 3.1.5 进程状态 3.1.6 内存管理 3.2 进程管理 3.2.1 进程启动 3.2.2 进程执行 3.2.3 进程组 3.2.4 进程等待 3.2.5 进程终止 3.3 进程守护 3.3.1 守护进程定义 3.3.2 守护进程实现 3.4 贯穿任务实现 本章总结 小结 Q&A 章节练习 习题 第4章 进程间通信 任务驱动 学习路线 本章目标 4.1 概述 4.2 管道 4.2.1 无名管道 4.2.2 FIFO 4.3 信号 4.3.1 信号概述 4.3.2 信号发送 4.3.3 信号处理 4.4 IPC对象 4.4.1 IPC标识符与键 4.4.2 IPC结构 4.4.3 IPC命令 4.5 信号量 4.5.1 信号量概述 4.5.2 信号量相关函数 4.6 共享内存 4.6.1 共享内存概述 4.6.2 共享内存相关函数 4.7 消息队列 4.7.1 消息队列概述 4.7.2 消息队列相关函数 4.8 贯穿项目实现 4.8.1 实现【任务4-1】 4.8.2 实现【任务4-2】 4.8.3 实现【任务4-3】 本章总结 小结 Q&A 章节练习 习题 第5章 多线程编程 任务驱动 学习路线 本章目标 5.1 线程概述 5.1.1 线程与进程 5.1.2 线程分类 5.1.3 线程标识符 5.2 多线程编程 5.2.1 线程创建 5.2.2 线程退出 5.2.3 线程等待 5.3 线程同步 5.3.1 信号量 5.3.2 互斥量 5.4 线程属性 5.4.1 属性对象 5.4.2 相关函数 5.5 贯穿任务实现 5.5.1 实现【任务5-1】 5.5.2 实现【任务5-2】 5.5.3 实现【任务5-3】 本章总结 小结 Q&A 章节练习 习题 第6章 网络编程 任务驱动 学习路线 本章目标 6.1 网络基础 6.1.1 网络模型 6.1.2 地址 6.1.3 网络协议 6.1.4 端口号 6.2 socket套接字 6.2.1 套接字描述符 6.2.2 套接字地址结构 6.2.3 套接字相关函数 6.3 多客户端 6.4 贯穿任务实现 本章总结 小结 Q&A 章节练习 习题 第7章 数据库 任务驱动 学习路线 本章目标 7.1 数据库概述 7.1.1 什么是数据库 7.1.2 数据库技术 7.1.3 SQL概述 7.1.4 常见数据库 7.2 MySQL安装与配置 7.3 MySQL基本操作 7.3.1 连接MySQL 7.3.2 数据库操作 7.3.3 数据表操作 7.3.4 数据记录操作 7.3.5 查询操作 7.4 MySQL C编程 7.4.1 开发包安装 7.4.2 变量类型 7.4.3 MySQL C API 7.5 贯穿任务实现 7.5.1 实现【任务7-1】 7.5.2 实现【任务7-2】 7.5.3 实现【任务7-3】 7.5.4 实现【任务7-4】 本章总结 小结 Q&A 章节练习 习题