技术教育社区
www.teccses.org

Linux C编程直通车-(含DVD光盘1张)

封面

作者:叶茂

页数:464

出版社:电子工业出版社

出版日期:2014

ISBN:9787121222498

电子书格式:pdf/epub/txt

内容简介

从最基本的linux c开发工具和程序讲起,循序渐进;
? 以大量的案例介绍linux c编程技术和方法,实践与理论结合紧密;
? 结合综合性案例演示实际项目开发过程,夯筑实战基础;

作者简介

张繁,毕业于武汉邮电科学研究院研究生部,熟悉UNIX/Linux,?CLinux,熟悉Linux下的各种开发工具(vi、gcc、gdb、make等)、Linux系统架构、进程管理、进程通信、网络配置等,以及Linux下的C程序开发,曾经参与过多个校、公司和省科研项目,有丰富的一线开发经验。

本书特色

本书以fedora 14为平台,深入浅出、循序渐进的讲解了linux操作系统下的c语言程序设计,并通过大量的程序实例,以及综合开发案例的演示,帮助读者快速掌握linux下c语言编程的方法和技巧。本书内容翔实,包括linux系统简介、shell编程、linux c开发环境、linux下常用c库函数、进程管理、线程管理、基于文件描述法的i/o操作、基于流的i/o操作、套接字编程、数据库编程、gtk+图形界面开发等等,并结合两个具体的项目案例,详细介绍了linux平台下c程序开发的方法和技巧。

目录

目    录<br>
<br>
第1章  linux初识 1<br>
1.1  了解linux 1<br>
1.1.1  什么是linux 1<br>
1.1.2  gnu与linux 2<br>
1.1.3  linux系统的特点 3<br>
1.1.4  linux的内核版本与发行版本 3<br>
1.1.5  本书使用的linux 4<br>
1.2  安装linux 4<br>
1.2.1  系统安装前的准备工作 5<br>
1.2.2  从光盘安装linux 5<br>
1.2.3  从硬盘安装linux 22<br>
1.2.4  在虚拟机下安装linux 23<br>
1.3  linux常用命令 28<br>
1.3.1  shell终端 28<br>
1.3.2  与目录相关的命令 29<br>
1.3.3  与文件相关的命令 29<br>
1.3.4  与网络服务相关的命令 31<br>
1.4  本章小结 31<br>
上机题 32<br>
第2章  shell编程 33<br>
2.1  shell简介 33<br>
2.1.1  关于shell 33<br>
2.1.2  shell的使用 34<br>
2.1.3  常见shell的种类 36<br>
2.2  shell基本语法 38<br>
2.2.1  变量 38<br>
2.2.2  通配符 43<br>
2.2.3  引号 44<br>
2.2.4  注释符 46<br>
2.3  选择结构 46<br>
2.3.1  test命令 46<br>
2.3.2  if语句 49<br>
2.3.3  if…else语句 49<br>
2.3.4  if…elif语句 50<br>
2.3.5  case语句 52<br>
2.4  循环结构 54<br>
2.4.1  for语句 54<br>
2.4.2  while语句 56<br>
2.4.3  until语句 58<br>
2.4.4  异常退出循环 58<br>
2.5  函数 61<br>
2.5.1  定义函数 61<br>
2.5.2  交互式shell中定义和使用函数 62<br>
2.5.3  shell脚本中定义和使用函数 62<br>
2.5.4  将函数定义在单独的文件中 64<br>
2.6  本章小结 65<br>
上机题 65<br>
第3章  linux c开发环境 67<br>
3.1  c编辑器 67<br>
3.1.1  vi 67<br>
3.1.2  gedit 72<br>
3.1.3  kwrite 74<br>
3.1.4  kate 75<br>
3.2  程序编译器gcc 78<br>
3.2.1  gcc简介 78<br>
3.2.2  gcc编译初步 79<br>
3.2.3  警告提示功能 81<br>
3.2.4  优化gcc 82<br>
3.2.5  连接库 86<br>
3.2.6  调试选项 87<br>
3.3  程序调试器gdb 88<br>
3.3.1  gdb简介 88<br>
3.3.2  gdb调试初步 90<br>
3.3.3  使用断点 92<br>
3.3.4  查看运行时数据 97<br>
3.3.5  查看源程序 103<br>
3.3.6  改变程序的执行 105<br>
3.4  本章小结 109<br>
上机题 110<br>
第4章  linux下常用c库函数 112<br>
4.1  使用库函数的优势 112<br>
4.2  内存操作相关 114<br>
4.2.1  malloc函数 115<br>
4.2.2  calloc函数 115<br>
4.2.3  free函数 117<br>
4.2.4  memset函数 118<br>
4.2.5  memcpy函数 123<br>
4.2.6  memmove函数 125<br>
4.3  数字与字符串间的转换 126<br>
4.3.1  字符串转换为整型 126<br>
4.3.2  字符串转换为实型 129<br>
4.3.3  整型转换为字符串 130<br>
4.3.4  实型转换为字符串 132<br>
4.4  日期与时间 135<br>
4.5  随机函数 138<br>
4.6  本章小结 142<br>
上机题 143<br>
第5章  进程管理 144<br>
5.1  进程概述 144<br>
5.1.1  linux进程简介 144<br>
5.1.2  task_struct结构 146<br>
5.2  进程管理 150<br>
5.2.1  获得进程id 151<br>
5.2.2  创建进程 152<br>
5.2.3  进程执行 159<br>
5.2.4  进程消亡 163<br>
5.2.5  进程等待 167<br>
5.2.6  system函数 173<br>
5.2.7  进程组与会话 175<br>
5.3  进程调度机制 177<br>
5.4  本章小结 180<br>
上机题 180<br>
第6章  线程管理 182<br>
6.1  线程概述 182<br>
6.2  线程的基本操作 183<br>
6.2.1  创建线程 183<br>
6.2.2  线程等待 186<br>
6.2.3  线程终止 187<br>
6.2.4  线程属性 189<br>
6.3  线程同步 193<br>
6.3.1  互斥锁 193<br>
6.3.2  条件变量 198<br>
6.3.3  信号量 203<br>
6.4  本章小结 207<br>
上机题 208<br>
第7章  基于文件描述符的i/o操作 209<br>
7.1  linux文件系统 209<br>
7.1.1  文件系统结构 209<br>
7.1.2  文件类型 210<br>
7.1.3  文件访问权限 213<br>
7.1.4  数据结构 214<br>
7.2  文件i/o操作 216<br>
7.2.1  文件的创建、打开与关闭 217<br>
7.2.2  文件的定位 221<br>
7.2.3  文件的读/写 224<br>
7.3  文件属性操作 228<br>
7.3.1  改变文件访问权限 228<br>
7.3.2  改变文件所有者 229<br>
7.3.3  重命名 230<br>
7.4  文件的其他操作 233<br>
7.4.1  stat()、fstat()和lstat()函数 233<br>
7.4.2  dup()和dup2()函数 235<br>
7.4.3  fcntl()函数 236<br>
7.4.4  sync()和fsync()函数 236<br>
7.5  特殊文件的操作 237<br>
7.5.1  目录文件 237<br>
7.5.2  链接文件 241<br>
7.5.3  管道文件 244<br>
7.5.4  设备文件 246<br>
7.6  本章小结 246<br>
上机题 246<br>
第8章  基于流的i/o操作 248<br>
8.1  流与缓存 248<br>
8.1.1  流和file对象 248<br>
8.1.2  缓存 250<br>
8.1.3  设置缓存 251<br>
8.2  流的打开与关闭 255<br>
8.2.1  流的打开 255<br>
8.2.2  流的关闭 257<br>
8.2.3  注意fclose 259<br>
8.3  流i/o操作 260<br>
8.3.1  字符i/o 260<br>
8.3.2  行i/o 264<br>
8.3.3  直接i/o 267<br>
8.3.4  格式化i/o 270<br>
8.4  本章小结 273<br>
上机题 273<br>
第9章  套接字编程 274<br>
9.1  套接字编程基础 274<br>
9.1.1  套接字概述 274<br>
9.1.2  套接字数据结构 276<br>
9.1.3  基础函数 279<br>
9.2  tcp套接字编程 285<br>
9.2.1  tcp套接字原理 285<br>
9.2.2  tcp套接字函数 286<br>
9.2.3  tcp套接字client/server程序实例 299<br>
9.3  udp套接字编程 304<br>
9.3.1  udp套接字原理 304<br>
9.3.2  udp数据发送与接收 305<br>
9.3.3  udp套接字client/server程序实例 305<br>
9.4  多客户模型 309<br>
9.4.1  循环服务器 309<br>
9.4.2  并发服务器 310<br>
9.4.3  多路复用i/o 311<br>
9.5  本章小结 319<br>
上机题 320<br>
第10章  linux数据库编程 321<br>
10.1  linux数据库简介 321<br>
10.1.1  数据库的基本概念 321<br>
10.1.2  关系型数据库 322<br>
10.1.3  linux下的常用数据库 324<br>
10.2  mysql的使用 326<br>
10.2.1  安装mysql 326<br>
10.2.2  mysql的常用操作 331<br>
10.3  数据库编程 334<br>
10.3.1  数据结构 334<br>
10.3.2  函数api 338<br>
10.3.3  一个简易的员工信息管理系统 353<br>
10.4  本章小结 358<br>
上机题 358<br>
第11章  gtk+图形界面开发 359<br>
11.1  linux图形界面开发简介 359<br>
11.1.1  linux图形界面环境 359<br>
11.1.2  gtk+简介 360<br>
11.2  基本控件 363<br>
11.2.1  窗口 363<br>
11.2.2  标签 368<br>
11.2.3  按钮 369<br>
11.2.4  文本框 371<br>
11.3  布局控件 378<br>
11.3.1  表格 378<br>
11.3.2  框 382<br>
11.3.3  窗格 383<br>
11.4  其他高级控件 385<br>
11.4.1  进度条、微调按钮、组合框 385<br>
11.4.2  单选按钮、复选按钮 390<br>
11.4.3  下拉菜单 392<br>
11.5  gtk+信号与事件 394<br>
11.6  本章小结 398<br>
上机题 398<br>
第12章  设计一款linux下的小游戏 400<br>
12.1  游戏简介 400<br>
12.2  程序模块划分 403<br>
12.2.1  初始化模块 403<br>
12.2.2  对话框显示模块 405<br>
12.2.3  游戏主模块 408<br>
12.3  游戏效果演示 426<br>
12.4  本章小结 427<br>
第13章  设计linux下的学生信息管理系统 428<br>
13.1  软件功能简介 428<br>
13.2  程序模块划分 429<br>
13.2.1  数据库设计 429<br>
13.2.2  用户登录 436<br>
13.2.3  学生查询界面 441<br>
13.2.4  教师查询界面 443<br>
13.2.5  管理员查询界面 445<br>
13.2.6  makefile文件 448<br>
13.3  软件运行效果演示 448<br>
13.4  本章小结 452<br>

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Linux C编程直通车-(含DVD光盘1张)》
Article link:https://www.teccses.org/416203.html