新書推薦:
《
药食同源中药鉴别图典
》
售價:NT$
305.0
《
设计中的比例密码:建筑与室内设计
》
售價:NT$
398.0
《
冯友兰和青年谈心系列:看似平淡的坚持
》
售價:NT$
254.0
《
舍不得星星:全2册
》
售價:NT$
356.0
《
汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作
》
售價:NT$
347.0
《
汗青堂丛书144·决战地中海
》
售價:NT$
765.0
《
逝去的武林(十周年纪念版 武学宗师 口述亲历 李仲轩亲历一九三零年代武人言行录)
》
售價:NT$
250.0
《
唐代冠服图志(百余幅手绘插画 图解唐代各类冠服 涵盖帝后 群臣 女官 士庶 军卫等 展现唐代社会风貌)
》
售價:NT$
398.0
|
編輯推薦: |
从最基本的Linux C开发工具和程序讲起,循序渐进;
? 以大量的案例介绍Linux C编程技术和方法,实践与理论结合紧密;
? 结合综合性案例演示实际项目开发过程,夯筑实战基础;
|
內容簡介: |
本书以Fedora 14为平台,深入浅出、循序渐进的讲解了Linux操作系统下的C语言程序设计,并通过大量的程序实例,以及综合开发案例的演示,帮助读者快速掌握Linux下C语言编程的方法和技巧。本书内容翔实,包括Linux系统简介、Shell编程、Linux C开发环境、Linux下常用C库函数、进程管理、线程管理、基于文件描述法的IO操作、基于流的IO操作、套接字编程、数据库编程、GTK+图形界面开发等等,并结合两个具体的项目案例,详细介绍了Linux平台下C程序开发的方法和技巧。
|
關於作者: |
张繁,毕业于武汉邮电科学研究院研究生部,熟悉UNIXLinux,?CLinux,熟悉Linux下的各种开发工具vi、gcc、gdb、make等、Linux系统架构、进程管理、进程通信、网络配置等,以及Linux下的C程序开发,曾经参与过多个校、公司和省科研项目,有丰富的一线开发经验。
|
目錄:
|
目 录br
br
第1章 Linux初识 1br
1.1 了解Linux 1br
1.1.1 什么是Linux 1br
1.1.2 GNU与Linux 2br
1.1.3 Linux系统的特点 3br
1.1.4 Linux的内核版本与发行版本 3br
1.1.5 本书使用的Linux 4br
1.2 安装Linux 4br
1.2.1 系统安装前的准备工作 5br
1.2.2 从光盘安装Linux 5br
1.2.3 从硬盘安装Linux 22br
1.2.4 在虚拟机下安装Linux 23br
1.3 Linux常用命令 28br
1.3.1 Shell终端 28br
1.3.2 与目录相关的命令 29br
1.3.3 与文件相关的命令 29br
1.3.4 与网络服务相关的命令 31br
1.4 本章小结 31br
上机题 32br
第2章 Shell编程 33br
2.1 Shell简介 33br
2.1.1 关于Shell 33br
2.1.2 Shell的使用 34br
2.1.3 常见Shell的种类 36br
2.2 Shell基本语法 38br
2.2.1 变量 38br
2.2.2 通配符 43br
2.2.3 引号 44br
2.2.4 注释符 46br
2.3 选择结构 46br
2.3.1 test命令 46br
2.3.2 if语句 49br
2.3.3 if...else语句 49br
2.3.4 if...elif语句 50br
2.3.5 case语句 52br
2.4 循环结构 54br
2.4.1 for语句 54br
2.4.2 while语句 56br
2.4.3 until语句 58br
2.4.4 异常退出循环 58br
2.5 函数 61br
2.5.1 定义函数 61br
2.5.2 交互式Shell中定义和使用函数 62br
2.5.3 Shell脚本中定义和使用函数 62br
2.5.4 将函数定义在单独的文件中 64br
2.6 本章小结 65br
上机题 65br
第3章 Linux C开发环境 67br
3.1 C编辑器 67br
3.1.1 vi 67br
3.1.2 gedit 72br
3.1.3 KWrite 74br
3.1.4 Kate 75br
3.2 程序编译器gcc 78br
3.2.1 gcc简介 78br
3.2.2 gcc编译初步 79br
3.2.3 警告提示功能 81br
3.2.4 优化gcc 82br
3.2.5 连接库 86br
3.2.6 调试选项 87br
3.3 程序调试器gdb 88br
3.3.1 gdb简介 88br
3.3.2 gdb调试初步 90br
3.3.3 使用断点 92br
3.3.4 查看运行时数据 97br
3.3.5 查看源程序 103br
3.3.6 改变程序的执行 105br
3.4 本章小结 109br
上机题 110br
第4章 Linux下常用C库函数 112br
4.1 使用库函数的优势 112br
4.2 内存操作相关 114br
4.2.1 malloc函数 115br
4.2.2 calloc函数 115br
4.2.3 free函数 117br
4.2.4 memset函数 118br
4.2.5 memcpy函数 123br
4.2.6 memmove函数 125br
4.3 数字与字符串间的转换 126br
4.3.1 字符串转换为整型 126br
4.3.2 字符串转换为实型 129br
4.3.3 整型转换为字符串 130br
4.3.4 实型转换为字符串 132br
4.4 日期与时间 135br
4.5 随机函数 138br
4.6 本章小结 142br
上机题 143br
第5章 进程管理 144br
5.1 进程概述 144br
5.1.1 Linux进程简介 144br
5.1.2 task_struct结构 146br
5.2 进程管理 150br
5.2.1 获得进程ID 151br
5.2.2 创建进程 152br
5.2.3 进程执行 159br
5.2.4 进程消亡 163br
5.2.5 进程等待 167br
5.2.6 system函数 173br
5.2.7 进程组与会话 175br
5.3 进程调度机制 177br
5.4 本章小结 180br
上机题 180br
第6章 线程管理 182br
6.1 线程概述 182br
6.2 线程的基本操作 183br
6.2.1 创建线程 183br
6.2.2 线程等待 186br
6.2.3 线程终止 187br
6.2.4 线程属性 189br
6.3 线程同步 193br
6.3.1 互斥锁 193br
6.3.2 条件变量 198br
6.3.3 信号量 203br
6.4 本章小结 207br
上机题 208br
第7章 基于文件描述符的IO操作 209br
7.1 Linux文件系统 209br
7.1.1 文件系统结构 209br
7.1.2 文件类型 210br
7.1.3 文件访问权限 213br
7.1.4 数据结构 214br
7.2 文件IO操作 216br
7.2.1 文件的创建、打开与关闭 217br
7.2.2 文件的定位 221br
7.2.3 文件的读写 224br
7.3 文件属性操作 228br
7.3.1 改变文件访问权限 228br
7.3.2 改变文件所有者 229br
7.3.3 重命名 230br
7.4 文件的其他操作 233br
7.4.1 stat、fstat和lstat函数 233br
7.4.2 dup和dup2函数 235br
7.4.3 fcntl函数 236br
7.4.4 sync和fsync函数 236br
7.5 特殊文件的操作 237br
7.5.1 目录文件 237br
7.5.2 链接文件 241br
7.5.3 管道文件 244br
7.5.4 设备文件 246br
7.6 本章小结 246br
上机题 246br
第8章 基于流的IO操作 248br
8.1 流与缓存 248br
8.1.1 流和FILE对象 248br
8.1.2 缓存 250br
8.1.3 设置缓存 251br
8.2 流的打开与关闭 255br
8.2.1 流的打开 255br
8.2.2 流的关闭 257br
8.2.3 注意fclose 259br
8.3 流IO操作 260br
8.3.1 字符IO 260br
8.3.2 行IO 264br
8.3.3 直接IO 267br
8.3.4 格式化IO 270br
8.4 本章小结 273br
上机题 273br
第9章 套接字编程 274br
9.1 套接字编程基础 274br
9.1.1 套接字概述 274br
9.1.2 套接字数据结构 276br
9.1.3 基础函数 279br
9.2 TCP套接字编程 285br
9.2.1 TCP套接字原理 285br
9.2.2 TCP套接字函数 286br
9.2.3 TCP套接字ClientServer程序实例 299br
9.3 UDP套接字编程 304br
9.3.1 UDP套接字原理 304br
9.3.2 UDP数据发送与接收 305br
9.3.3 UDP套接字ClientServer程序实例 305br
9.4 多客户模型 309br
9.4.1 循环服务器 309br
9.4.2 并发服务器 310br
9.4.3 多路复用IO 311br
9.5 本章小结 319br
上机题 320br
第10章 Linux数据库编程 321br
10.1 Linux数据库简介 321br
10.1.1 数据库的基本概念 321br
10.1.2 关系型数据库 322br
10.1.3 Linux下的常用数据库 324br
10.2 MySQL的使用 326br
10.2.1 安装MySQL 326br
10.2.2 MySQL的常用操作 331br
10.3 数据库编程 334br
10.3.1 数据结构 334br
10.3.2 函数API 338br
10.3.3 一个简易的员工信息管理系统 353br
10.4 本章小结 358br
上机题 358br
第11章 GTK+图形界面开发 359br
11.1 Linux图形界面开发简介 359br
11.1.1 Linux图形界面环境 359br
11.1.2 GTK+简介 360br
11.2 基本控件 363br
11.2.1 窗口 363br
11.2.2 标签 368br
11.2.3 按钮 369br
11.2.4 文本框 371br
11.3 布局控件 378br
11.3.1 表格 378br
11.3.2 框 382br
11.3.3 窗格 383br
11.4 其他高级控件 385br
11.4.1 进度条、微调按钮、组合框 385br
11.4.2 单选按钮、复选按钮 390br
11.4.3 下拉菜单 392br
11.5 GTK+信号与事件 394br
11.6 本章小结 398br
上机题 398br
第12章 设计一款Linux下的小游戏 400br
12.1 游戏简介 400br
12.2 程序模块划分 403br
12.2.1 初始化模块 403br
12.2.2 对话框显示模块 405br
12.2.3 游戏主模块 408br
12.3 游戏效果演示 426br
12.4 本章小结 427br
第13章 设计Linux下的学生信息管理系统 428br
13.1 软件功能简介 428br
13.2 程序模块划分 429br
13.2.1 数据库设计 429br
13.2.2 用户登录 436br
13.2.3 学生查询界面 441br
13.2.4 教师查询界面 443br
13.2.5 管理员查询界面 445br
13.2.6 Makefile文件 448br
13.3 软件运行效果演示 448br
13.4 本章小结 452br
|
|