01 Linux系统安装
以Fedora为代表介绍Linux系统的安装过程。该过程包括安装光盘映像获取,安装语言、主机名、账户、硬盘分区等系统属性的设置。其中,由于Linux使用的硬盘分区格式与其它系统有所不同,因此需要格外注意。
02 Linux基本概念和操作
Linux的基本概念与使用方法是开始Linux编程的基础。这一节介绍了X window、控制台与终端的基本概念和使用方法,以及Linux的文件系统。Linux系统的文件命名方式、目录结构与文件类型是这一节的难点,读者需要结合实践加深认识。
03 GCC编译器/GDB调试器使用方法
介绍了Linux系统中用于开发C语言的编译调试工具。包括编译与调试的基本概念、工具的安装方法、操作命令和运行参数。为了使读者更直观的了解源代码的编译与调试方法,特别编写了一个“Hello world!”程序演示编译与调试的过程。
04 使用Eclipse开发C与C++语言程序
简单介绍了广受Linux开发者欢迎的集成开发环境Eclipse。内容包括Eclipse的下载与安装,以及从创建项目、编辑源代码、保存、编译、运行,到设置断点、调试程序的全部过程。读者需要注意使用Eclipse图形环境调试程序的方法,这将为后面的学习和时间打下夯实的基础。
05 C语言程序结构
围绕ANSI C标准讲解C语言的程序结构。其中包括程序的执行顺序、函数的概念、主函数、结构化语言的特性、函数的类型与返回值。需要注意其中关于技术圆形面积程序的设计方法,以及该程序的改进与优化方法。
06 软件工程基础
本节是软件工程知识的简要描述。包括软件工程的定义、项目实践的7条基本原理、软件生命周期、瀑布模型和迭代发布模型。最后,关于朴素软件工程思想的介绍是读者需要重点掌握的内容,该思想将围绕本书中的项目实践逐步展开,帮助读者树立科学严谨的工程学思想。
07 C语言数据类型、运算符和表达式
以ANSI C标准介绍了C语言的数据类型、运算符与表达式。深入浅出地对计算机内存、变量的意义进行了探讨,以实例为基础讲解了运算符的使用方法和优先级规则。对GCC编译器的C语言标准与ANSI C标准的差异进行了初步比较。
08 程序控制结构
通过程序控制结构对C语言的控制语句进行分类讲解。涉及if、switch、or、while、do while等命令的使用方法,并以实例为基础讲解了C语言语法的构成与运用。最后重点介绍了死循环的成因,以及死循环在程序设计中的应用方向。
09 建立媒体播放器程序结构linux在线编程
介绍媒体播放器程序结构的基本概念。从朴素软件工程思想为引入点讲解程序的设计方法,以及媒体播放器程序的结构和模块划分方法。需要注意的是其中关于代码复用思想的介绍,特别是媒体播放器程序处在系统中的层次。
10 数组
根据内存的使用方法讲解了数组的本质。介绍了数组如何使用内存,数组的定义、引用,包括一维数组、二维数组和字符数组的使用方法与特点。最后结合编程实践,介绍了多维数组的概念。
11 指针
深入研究计算机内存的分配与变量的本质,介绍C语言指针的概念。其中包括指针的定义和引用,通过指针获得变量的内存地址的方法。关于如何使用指针访问数组元素是本节的难点,此处将借助实例程序进行讲解。
12 函数
介绍C语言基本组成部分函数的概念。包括函数的原型、函数的说明和调用方法,以及通过函数进行代码复用、简化程序复杂度的实际应用。为了加深理解,特别地讲解了Linux系统上函数库的意义和使用函数库的方法。
13 通过函数传递参数
介绍函数参数传递的方法。依据实际应用,讲解了函数的形式参数与实际参数、传值与传址、使用指针作为函数参数的方法。其中重点为C语言的重大难题,以多维数组作为函数参数的编程方法,读者需要多加留意。
14 建立媒体播放器核心控制模块
通过函数的应用,介绍媒体播放器核心控制模块的设计方法。其中包括核心控制模块的目标、功能和编程方法。主要难点为如何使用空类型void作为函数形式参数,通过空类型指针使实际参数与形式参数进行任意数据类型的转换。
15 字符及字符串处理
介绍C语言的字符及字符串处理函数库。其中包括string.h和stdlib.h两个头文件中关于字符、字符串与其他数据类型间的转换方法,字符串的连接、查、搜索函数。最后,将知识点延伸到使用内存块的操作方法直接在内存中进行字符串的处理,从而认识字符串处理的原理与本质。
16 播放列表排序和查
通过字符串函数的使用介绍媒体播放器中播放列表的建立,并且在播放列表上实现排序和查功能。其中包括字符串排序算法和查算法的源代码讲解。重点为动态内存分配与回收技术的运用。
17 结构体与共用体
介绍C语言结构体与共用体这两种复合数据结构。介绍结构体与共用体的内存分配、定义和使用方法,以及结构体与共用体数组的使用方法。结合动态内存分配技术,这一节还将介绍更为复杂的链表数据结构的创建。
18 设计媒体库中的数据结构
着重讲解媒体库中的数据结构。其中包括媒体信息数据结构和读取媒体信息的方法,以及媒体库链表的实现。读者需要着重关注本节对于排序和查功能的扩充,以及模糊查技术的实现方法。
19 面向对象编程
通过C++语言介绍面向对象编程的基本概念。包括类的定义、对象的创建及对象行为的实现方法,并结合实例程序进行讲解。最后还将介绍操作符重载、函数重构和类的继承等数个面向对象编程的重要概念。
20 文件操作
介绍了通过系统调用方式对文件的操作。包括创建、打开、关闭文件,从文件中顺序读写数据,修改文件的权限等操作方法。其中重点为文件权限概念的介绍,以及多种方式对文件权限的修改。
21 添加目录到媒体库
结合系统调用中文件操作方法,介绍媒体库模块中添加目录到媒体库和搜索整个磁盘中媒体文件功能的实现方法。包括目录流的操作方法,以及对子目录的遍历算法。本节着重介绍以递归方式遍历目录及子目录中文件的算法。
22 文件I/O操作
介绍文件的输入输出操作。包括以系统调用方式进行非缓冲文件读写,以及通过标准输入与输出函数库进行缓冲文件读写的方式。为读者分析两种读写文件方式的利弊,结合实例说明适宜应用的场合。
23 读取播放列表文件
说明播放列表文件的结构,以及读取播放列表文件的实现方法。介绍了m3u文件的来历及定义,以及通过缓冲文件读写方式对m3u文件进行读写的编程思路。结合媒体播放器媒体库模块设计,实现了播放列表文件读取到媒体库链表数据结构的方法。
24 进程控制
讲解进程的基本概念与进程控制的方法。其中包括进程的生命周期,创建子进程的系统调用方式,在进程间进行切换的系统调用方式。其中重点为对进行属性和状态的修改,以及进程优先级的意义。
25 进程间通信
介绍进程间通信的概念与实现方法。包括使用管道进行进程间通信的系统调用函数,以及使用信号量与互斥量进行进程间通信的方法。为了使读者能够在Linux桌面开发中使用更为强大的进程间通信,本节着重进行了D-BUS系统的实例讲解。
26 线程控制
介绍线程控制相关知识。包括线程的基本概念、线程的创建、线程的结束与线程间通信的方法。其中重点为多线程的概念及意义。
27 网络编程基础
介绍网络编程的基础知识。围绕Socket套接字逐步展开,包括Socket套接字函数库的引入、套接字的定义,以及套接字的编程方法。读者需注意其中使用Socket套接字实现的一套服务器客户端通信程序的实现方法。
28 HTTP与FTP函数库
介绍当前Linux系统中流行的 HTTP与FTP函数库。本节内容围绕libCurl库展开,介绍了lib
Curl库的常用函数,使用libCurl库函数进行网络访问的方法。其中,实例部分使用libCurl库实现了网页文件的下载功能。
29 SMTP、POP与IMAP函数库
介绍与相关的SMTP、POP与IMAP函数库。其中包括使用libESMTP函数库实现发送,使用libspopc函数库实现POP访问,使用mailutils函数库实现IMAP访问。重点在于通过其它函数库的引入,简化自身代码的实现方法。
30 即时通信函数库
即时通信是当前最为流行的网络应用。本节介绍了libpurple函数库提供的即时通信公共机制,即时通信软件的工作机制,以及使用libpurple函数库接入服务器的方法。其中重点为如何对libpurple函数库进行初始化,配置账户,并连接到服务器上。
31 数据的存储与访问
数据的存储通常是指按照一定的规则将其写入到数据文件或数据库中。本节介绍数据文件
的定义,查询数据、插入数据、修改数据和删除数据的实现。较难掌握的为将文件中的数据格式化后存入内存,或将内存中的数据格式化输出到文件,读者需要留意。
32 SQLite数据库
介绍SQLite数据库的访问方法。其中包括SQLITE的组件组成,SQLITE数据库的图形化管理工具,连接SQLITE数据库,使用SQLITE命令执行函数等知识点。重点为如何使用sqlite3_get_table()函数将数据表中的结果输出到一个动态的内存空间中
33 媒体库数据库
以SQLITE为例设计媒体库模块的数据库,并实现相关操作。其中包含媒体信息数据库的设计,连接数据库、断开数据库连接、建立媒体库数据表、管理媒体库数据表等功能的实现。难点在于对管理媒体库数据表时读取、写入、修改和删除数据操作的实现。
34 GLib库介绍
介绍GTK+和GNOME工程的基础底层核心程序库GLib。包括GLib的基础类型、事件循环、
内存操作、线程的支持,以及GLib实用功能。其中重点需要注意的是GLib主事件循环,是后面内容的基础。
35 GObject对象介绍
介绍基于GLib库实现的面向对象系统GObject。包括GObject对象的概念、GObject对象定义、GObject系统中宏定义、GTypeInfo结构定义和信号机制。其中信号机制是学习GTK+图形编程的基础。
36 多媒体库GStreamer介绍
GStreamer是GNOME桌面环境下用来构建流媒体应用的编程框架。本节讲解了GstElement对象的概念,包括数据源元件、过滤器元件和接收器元件。需要重点掌握的是对象之间的连接方法,可关注实例代码的讲解部分。
37 常用界面构件
介绍GTK+编程中常用的窗体界面构件。包括按钮、调整对象、范围、标签、对话框和文本
输入、文件选择等构件的创建和定义方法,以及基本操作的实现。需关注这些构件的使用方法,特别是对话框构件,较难以掌握。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论