linux C编程实战(全书)

所需积分/C币:42 2017-10-28 16:50:03 80.55MB PDF

《linux C编程实战》系统地介绍在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者能够很快掌握在Linux平台下进行C程序开发的方法和技巧,并具备开发大型应用程序的能力。
目录 目录 第一篇 Linux和C编程基础 第1章 Linux系统概述…… 来,,,,,,,,,,,干,,,非,,,,,,,在 1.1 Linux操作系统介绍… 222 1.11 Linux的发展历程…… 1.1.2 Linux的特性 1.13 Linux的内核版本和发行版本 12C语言简介 2344 121C语言的发展历史 122C语言的特点 13 Linux的安装、启动与关闭 …5 14 Linux的基本使用………………………… 1.4.1 Linux终端…………………………………………………………5 14.2 Linux Shell-…………5 143 Linux的常用命令………… 1.5 Linux下程序的开发环境和开发过程 1.6习题………………………………………2 第2章C编程基础、Ⅵ和 Emacs编辑器 13 2.1C程序的结构… …3 22C语言的基本数据类型…… 221整型…………… ……4 2.22浮点型… …16 223字符型……………………………………17 2.3运算符和表达式…………………………………… 231算术运算符与算术表达式………………………………………20 23,2赋值运算符与赋值表达式… ……2 2.33逗号运算符与逗号表达式…… …22 2.4标准输入输出函数… …23 241字符输出函数 putchar… …3 242字符输入函数 getchar ……24 243格式化输出函数 printf…………………24 244格式化输入函数 scanf…… 26 自 p LinuxC编程实战 2.5ⅵ编辑器的使用 ………27 251V的工作模式… 27 2.52启动ⅵi……… 2 8 253保存文件和退出V1… …29 254光标的移动… ………………………………………………29 255文本的删除 30 25.6文本查找和替换 30 25.7文本的复制与粘贴 ………30 2.6 Emacs编辑器的使用 ……31 27命名规范 “单“ …33 27.1标识符 33 272关键字 …33 2.7.3命名规范………………………33 28面试题选与实例精讲 ……134 281面试题选……… ………… 4 28.2实例精讲 ……135 2.9习题 …………37 第3章C程序控制结构和gcc编译器 3.1C程序的控制结构 ……38 311C程序语句概述 ¨38 312C程序的3种基本控制结构 未未 39 32分支控制结构…… 321关系运算符与关系表达式 40 32,2逻辑运算符与逻辑表达式 …41 32.3if语句……… 42 324 switch语句 “““““ 4 3.3循环控制结构 …………:………… …………46 331 while语句………… ……………………………46 332do. while语句… …47 33.3for语句 …………48 334 break语句和 continue语句 ¨150 34gcc编译器…5 341程序的编译过程…… “+ …………51 34.2gcc的常用选项 ·…… ………52 343gcc的报错类型及对策……………54 3.5面试题选与实例精讲 55 3.5.1面试题选… ……………………………,,,, 55 3.52实例精讲 ……56 目 3.6习题…………… ¨58 目录「 第4章C函数、数组、指针和调试器gdb… …59 4.1函数………………………………………59 411函数的定义 不…5 4.12函数的调用……………………61 41.3变量的访问控制和存储类别………………………64 42数组……… 4.2.1一维数组的定义和使用………………67 4.2.2二维数组的定义和使用………………………………67 42.3字符数组和字符串………………………………………………69 43指针 …70 43.1地址和指针…………………70 4.32指针的定义和使用………………………71 4.3.3指针和数组 434指针和函数 ……75 43.5指向字符串的指针 ……19 44字符串函数… ……82 44.1puts和gets……………… ……82 44.2 strcpy和 strncpy……… 44.3 strcat和 strncat… 83 4.4.4 strcmp 和 strncmp…………83 4.4.5 strlen…………… 84 44.6stwr和 struer……………… 84 44.7 strstr和 strchr…………………84 4.5调试器gdb…… ……85 451启动和退出gdb… ……85 4.52显示和查找程序源代码…… …86 4.53执行程序和获得帮助 ……87 454设置和管理断点… ………87 45.5查看和设置变量的值 45.6控制程序的执行 4.6面试题选 ……………95 4.7习题………………………………………………………………………………106 第5章C语言预处理、结构体和make的使用 51C语言预处理命令…… ,,,,,,,,,,, ………107 5.1.1宏定义………………………107 512文件包含………109 5.1.3条件编译… …110 52结构体和共用体 ……11 21和 …11 A边 LinuxC编程实战 522结构体和数组………… ……13 523结构体和指针 114 524共用体 116 525使用type edef…17 53位运算……………………117 53.1位运算符和位运算… …17 53.2位域………119 54make的使用和 Makefile的编写………………………………120 54.1make的一般使用… …121 542 Makefile文件的构成… …123 543使用变量………………………127 544隐含规则………………………………………131 54.5使用条件语句… …………132 54.6使用库… …133 547make命令参数详解 …134 5.5面试题选 …135 5.6进一步学习建议…………140 5.7习题 ………140 第二篇 Linux系统编程 第6章文件操作 ……142 6.1系统编程概述…………………………142 62 Linux的文件结构……………………………………………142 62.1 Linux的文件系统模型… 143 622文件的分类……………144 623文件的访问权限控制… 145 63文件的输入输出…… …147 631文件的创建、打开与关闭……………147 632文件的读写…………………149 633文件读写指针的移动……… …150 634dup、dup2、 fcntl、 ioctl系统调用……… 152 6.4文件属性操作…… ……160 64.1获取文件属性………160 642设置文件属性…… ……162 65文件的移动和删除…… …164 65.1文件的移动…………………164 652文件的删除………………………165 66目录操作… ……166 目 661目录的创建和删除… ……166 目录 6.6,2获取当前目录… …167 663设置工作目录……………………………………………167 6.64获取目录信息……………………………168 6.7编程实践:实现自己的ls命令……………………170 6.8习题………………………………… …176 第7章进程控制 “·… 71进程概述……………………………177 7.1.1 Linux进程……… …177 71.2进程控制 ……179 713进程的内存映像………………179 7.2进程操作……………………………180 7.21创建进程…… 180 722创建守护进程… ………185 723进程退出 ………………………………………187 724执行新程序……………………………188 7.25等待进程结束 ……… ……191 7.3进程的其他操作… ,,,,,,,,,,,,,,,主 …194 7.31获得进程 ID……94 7.3.2 setuid和 setgid………………194 73.3改变进程的优先级 74编程实践:实现自己的 myshell… 197 7.5习题…………………………………………………………………………203 第8章线程控制 ………204 81线程和进程关系… 204 82创建线程……… ………05 821线程创建函数 pthread create… …205 822线程属性 ,,,,,, ………207 83线程终止 …1208 84私有数据……………………………………………………………………210 8.5线程同步… …212 8.51互斥锁……………………………………………212 8.52条件变量 “““…→· …213 8.53异步信号…………… …216 86出错处理…… 216 8.6.1错误检查…………………………216 8.6.2错误码 “““““…““… 217 863错误的提示信息 ……218 87习题… 自由 ………219 eedom com 厂 LinuxC编程实战 第9章信号及信号处理… …220 9.1 Linux信号介绍………………………………………………………220 9.1.1信号的来源 …20 91.2信号的种类… 220 913进程对信号的响应 223 92信号处理… …………223 92.1信号的捕捉和处理…………………………223 922信号处理函数的返回………………………………227 923信号的发送……… …231 924信号的屏蔽… …236 93编程中如何获得帮助… ……240 94编程实践:应用实例……………………………………………240 94.1实例一:信号的发送与处理… …240 942实例二:信号应用于事件通知………………………………242 9.5习题………24 第10章进程间通信 …………245 10.1进程间通信概述 ………………245 102管道 10.21管道的概念……………………………………246 10.22管道的创建与读写… …246 10.23管道的应用实例………………………………………………250 10.3有名管道………………… ………251 10.3.1有名管道的概念… ……251 10.3.2有名管道的创建与读写… ………252 10.33有名管道的应用实例………………………………………253 10.4消息对列……………………256 104.1消息对列的基本概念 …256 1042消息队列的创建与读写… …257 104.3获取和设置消息队列的属性……………………………………………260 1044消息队列的应用实例…………………………………………262 10.5信号量……………………………………………………………………265 10.5.1信号量的基本概念………………265 10.52信号量的创建与使用……………265 10.53信号量的应用实例………………………………………268 10.6共享内存…………………………………………………270 10.6.1共享内存的数据结构… ………270 10.62共享内存的创建与操作 ,,, …………270 1063共享内存的应用实例 …271 10.7库的创建和使用… ………275 0 6 目录 10.71 Linux库的概念………………………………275 1072静态库的创建和使用…… ……276 10.73动态库的创建和使用 …………277 10.8进一步学习建议…… 279 109习题 “““““““““““““““““…“……““““…… 279 第三篇 Linux网络和图形界面编程 第11章网络编程…………………… …282 111·网络编程基本原理 282 111.1网络模型与协议…… 282 111.2地址 …"284 11.1.3端口 ……………………285 1114P协议………285 111.5用户数据报协议UDP …286 11.1.6传输控制协议TCP… 286 11.1.7客户机/服务器模型 ………287 11.2套接字编程… …287 11.2.1套接字地址结构 …288 112.2创建套接字…… ……288 11.2.3建立连接 289 11.2.4绑定套接字………………290 11.2.5在套接字上监听 …290 1126接受连接 ,,,, …291 112.7TCP套接字的数据传输… ………291 1128UDP套接字的数据传输…………………292 1129关闭套接字………………294 11.2.10主要系统调用函数… …294 113一个面向连接的 Client/Server实例 ,,1 301 114编写安全的代码 …………308 1141网络攻击 …308 114.2缓冲区溢出………… …309 114.3输入检查…………………………………………310 115编程实践:编程实现端口扫描器实例……-…-311 11.6进一步学习建议…… …314 11.7习题……… 314 第12章GIK+图形界面编程 315 12.1 Linux下的图形界面编程 315 121.1Qt和GTK+………… 在国44444非4 …315 121.2GTK+简介 o 315 Hyogo LiuC编程实战 122一个简单的例子…… ……316 12.3消息和回调函数……………………………………………319 12.4GTK+的面向对象机制………………………………320 12.5排列控件 ……323 12.5.1使用box排列控件……………………………………323 12.5.2使用 table排列控件…… ………325 12.6常用控件………………… 330 12.6.1进度条、微条按钮、组合框 ……………………不 330 12.6.2表格控件…………………332 12.6.3生成对话框… ……33 12.64使用菜单 …………34 12.7进一步学习建议… ……336 第四篇 Linux项目实践 第13章项目实践:BT下载软件的开发… ……38 13.1·BT软件简述………………………………………338 132 BitTorrent协议……… 339 13.2.1概要介绍 …339 132.2基于BT协议的文件分发系统的构成………339 132.3B编码… …340 1324种子文件的结构…… …340 1325与 Tracker交互……………………………………………………342 13.2.6peer之间的通信协议…………343 13.27关键算法和策略 345 13.3系统结构设计… …347 134各个模块的设计和实现……………348 13.4.1种子解析模块的设计和实现… …349 134.2位图管理模块的设计和实现………359 13.4.3出错处理模块的设计和实现……………363 13.44运行日志模块的设计和实现………364 13.4.5信号处理模块的设计和实现………………………………365 13.4.6Per管理模块的设计和实现… …366 13.47消息处理模块的设计和实现 ……372 13.4.8缓冲管理模块的设计和实现 384 13.4.9策略管理模块的设计和实现……39 13.4.10连接 Tracker模块的设计和实现………………………397 13.4.11与peer交换数据模块的设计和实现 1403 13.4.12主函数的设计和实现……………………………………………………411 13.4.13调试和测试 8 爱自 412

...展开详情
试读 127P linux C编程实战(全书)

评论 下载该资源后可以进行评论 1

feiyuelulu 还没有来的急看,想再次下载
2018-12-29
回复
img
kbsp6

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    linux C编程实战(全书) 42积分/C币 立即下载
    1/127
    linux C编程实战(全书)第1页
    linux C编程实战(全书)第2页
    linux C编程实战(全书)第3页
    linux C编程实战(全书)第4页
    linux C编程实战(全书)第5页
    linux C编程实战(全书)第6页
    linux C编程实战(全书)第7页
    linux C编程实战(全书)第8页
    linux C编程实战(全书)第9页
    linux C编程实战(全书)第10页
    linux C编程实战(全书)第11页
    linux C编程实战(全书)第12页
    linux C编程实战(全书)第13页
    linux C编程实战(全书)第14页
    linux C编程实战(全书)第15页
    linux C编程实战(全书)第16页
    linux C编程实战(全书)第17页
    linux C编程实战(全书)第18页
    linux C编程实战(全书)第19页
    linux C编程实战(全书)第20页

    试读已结束,剩余107页未读...

    42积分/C币 立即下载 >