linux C编程实战.pdf

所需积分/C币:43 2018-08-23 18:11:36 80.95MB PDF
收藏 收藏
举报

linux C编程实战.pdf
目录 目录 第一篇 Linux和C编程基础 第1章 Linux系统概述…… 11 Linux操作系统介绍………… 世世世世出世世 晋意“世看 1.1.1 Linux的发展历程 1.1.2 Linux的特性…………………………………………………………………2 1.13 Linux的内核版本和发行版本 12C语言简介………………………………4 121C语言的发展历史… 122C语言的特点………………………………………………………15 13 Linux的安装、启动与关闭…………………………………………5 14 Linux的基本使用 1.4.1Linuⅸx终端 审看率南看丰日南国国非和主1主日自由面目由自指由由主 142 Linux shell……15 143 Linux的常用命令… 1.5 Linux下程序的开发环境和开发过程……… 1.6习题………………………………………………………12 第2章C编程基础、Ⅵ和 Emacs编辑器…… 13 21C程序的结构 ……………………………-1 13 2,2C语言的基本数据类型……………………………………………………14 22.1整型………… ………………………14 222浮点型…………………… 16 223字符型…………………………… 2.3运算符和表达式 ………………………………………………19 231算术运算符与算术表达式………………………20 232赋值运算符与赋值表达式 ………22 233逗号运算符与逗号表达式……………………………………………22 2.4标准输入输出函数……………………………………………………… 23 241字符输出函数 putchar………………………………………23 242字符输入函数 getchar……… 24 243格式化输出函数 printf…………………4 244格式化输入函数 scanf… …26 经自 TCxo com LinuxC编程实战 2.5ⅵ编辑器的使用…… 27 251Ⅵ的工作模式…11 27 22启动 Vi………………28 253保存文件和退出ⅵ …29 254光标的移动…………… …29 25.5文本的删除… 30 2.56文本查找和替换 ………………30 257文本的复制与贴 ……………………30 26 Emacs编辑器的使用…. 31 27命名规范……… 33 27.1标识符 ……33 272关键字 ……3 273命名规范… …………33 28面试题选与实例精讲… ……34 281面试题选 ………34 28.2实例精讲………… ……35 2.9习题……………………… …37 第3章C程序控制结构和gce编译器 ¨38 31C程序的控制结构 ………38 31C程序语句概述 面“““国出“““…手寻“ 38 312C程序的3种基本控制结构…… 39 32分支控制结构-……… 40 321关系运算符与关系表达式 322逻辑运算符与罗辑表达式… 3.23if语句………………………………………………………42 324 switch语句 44 3.3循环控制结构 ……………………46 3.31 while语句…… …46 33,2 do, while语句 s47 333for语句 …………48 334 break语句和 continue语句………………50 34gcc编译器 51 34.1程序的编译过程 ……51 342gcc的常用选项 平果书……………“…, 52 343gcc的报错类型及对策… …54 3.5面试题选与实例精讲… “…手 ……5 3.5.1面试题选… 5 3.5,2实例精讲 …56 3.6习题 ……………………………5 8 函自 目录 第4章C函数、数组、指针和调试器gdb 4.1函数………………………………………………………………59 411函数的定义………………………………………59 412函数的调用…………………………………61 41.3变量的访问控制和存储类别………………………………… 4.2数组 世虚 6 4.2.1一维数组的定义和使用…………………………67 4.2.2二维数组的定义和使用……………………………67 42.3字符数组和字符串 ……………69 4.3指针… 70 43.1地址和指针 ………“……“…“………7∩ 432指针的定义和使用…………………………71 4.3.3指针和数组 量+普量出日量量B量日i面国目国面盲面国 434指针和函数…………………………75 4.3.5指向字符串的指针 …………………79 44字符串函数 ………82 4.4.1puts和gets… 82 442 strcpy和 strncpy……………182 44.3 strcat和 strncat… …83 444 strcmp和 strncmp……………………… 83 4.4.5 strlen…184 446 strlwr:和 struer………… 18 447 strstr和 strchr……………………………………………84 45调试器gdb……………………………………………85 451启动和退出gdb 35 452显示和查找程序源代码…… 4.53执行程序和获得帮助………………………………………87 454设置和管理断点………………………………87 4.5.5查看和设置变量的值……… 45.6控制程序的执行………… …93 4.6面试题选……………………………………95 4.7习题………………………………………………………106 第5章C语言预处理、结构体和make的使用… ………107 51C语言预处理命令 ……107 5.1.1宏定义…………………………………107 512文件包含…………………109 51.3条件编译 110 5.2结构体和共用体… 521声明和引用结构体… aNodo Com l11 LinuxC编程实战 522结构体和数组……………………………………………113 523结构体和指针…… 114 524共用体…………………………………………116 525使用 typedef……………………117 53位运算…………………………………………………………117 531位运算符和位运算… ……117 532位减……………………………………119 5.4make的使用和 Makefile的编写……………………………………120 541make的一般使用…… …121 542 Makefile文件的构成……………………………123 543便用变量………………………………………………127 544隐含規则……………1 545使用条件语句…… …132 546使用库… 133 54.7make命令参数详解… ………134 5.5面试题选…………………… 135 56进一步学习建议 140 5.7习题 第二篇 Linux系统编程 第6章文件操作… …………………… 142 6.1系统编程概述………………………………… ………142 62 Linux的文件结构…………………………………142 62.1Linuⅸx的文件系统模型………………………143 622文件的分类………………………144 62,3文件的访问权限控制 …145 63文件的输入输出…………… 147 63.1文件的创建、打开与关闭……………………147 632文件的读写………… …149 633文件读写指针的移动… …150 634dup、dup2、fent、ioct系统调用…………l52 6.4文件属性操作………160 64.1获取文件属性… ……160 64,2设置文件属性………………162 6.5文件的移动和删除… 164 651文件的移动………………………………164 652文件的删除… 66目录操作………… ………166 661目录的创建和删除…智r…………166 目录 6.6,2获取当前目录… 167 663设置工作目录… …………………167 6.64获取目录信息………………………………………………168 6.7编程实践:实现自己的ls命令……… 着请着 170 68习题 176 第7章进程控制……………7 71进程概述…………………………………………177 7.1.1 Linux进程 7.1.2进程控制………… …179 713进程的内存映像………………………………179 7.2进程操作…………………………………………180 7.21创建进程 …180 722创建守护进程 :国……………… 185 723进程退出…………………………………187 724执行新程序…………………………188 7.25等待进程结束 面出和 x191 7.3进程的其他操作……… ………194 7.3.1获得进程T………………………194 7.3.2 setuid和 setgid 审国44 ……194 733改变进程的优先级… ………196 7.4编程实践:实现自己的 myshell ………197 7.5习题………………………………………203 第8章线程控制…………………………………204 81线程和进程关系…… ………204 82创建线程 …05 821线程创建函数 pthread create ………205 8.22线程属性… ……207 83线程终止……………………………………………………208 84私有数据……………………………210 8.5线程同步… 212 8.51互斥锁…………………………212 852条件变量………… 213 853异步信号 216 8.6出错处理…… …216 861错误检查…………………………………………………216 8.6,2错误码… …217 863错误的提示信息 ……218 87习题 ………"……219 fiNGon com 5 Linux C编程实战 第9章信号及信号处理… ………20 91 Linux信号介绍 世由世出世世 ····中······ …………………220 9.1.1信号的来源 …20 9.2信号的种类………………………………220 913进程对信号的响应 223 9.2信号处理 223 921信号的捕捉和处理………………………………………………223 922信号处理函数的返回… ……………227 923信号的发送… ……………231 9.24信号的屏蔽…………… 236 9.3编程中如何获得帮助…………………240 94编程实践:应用实例…………………………240 94.1实例一:信号的发送与处理… 240 942实例二:信号应用于事件通知………………………………242 95习题………244 第10章进程间通信 E1nE百:TT,于曹?想中中中中中和中 …245 10.1进程间通信概述 ……………………245 10.2管道……………………………………………………………246 10.21管道的概念………………246 10.22管道的创建与读写 ………246 10.23管道的应用实例………………………………………………250 10.3有名管道……………………………………251 10.3.1有名管道的概念…… ……………………251 10.32有名管道的创建与读写… ……………………252 10.33有名管道的应用实例…………………………………253 10.4消息对列……256 104.1消息对列的基本概念 ………………256 10.4,2涧息队列的创建与读写…………………27 104.3获取和设置消息队列的属性……………………………………260 1044消息队列的应用实例…………………262 10.5信号量…………………………………………………265 10.5.1信号量的基本概念…………………"……………265 10.52信号量的创建与使用………………………265 1053信号量的应月实例… 268 10.6共享内存………………………………270 1061共享内存的数据结构………270 10.6.2共享内存的创建与操作…………………270 1063共享内存的应用实例 ……27 10.7库的创建和使用 ……+ 里要 275 目录 10.71Linx库的概念…………………275 10.72静态库的创建和使用 …76 10.73动态库的创建和使用…………………………………………277 10.8进一步学习建议…………………………………………279 109习题………………………………………………279 第三篇 Linux网络和图形界面编程 第11章网络编程 282 11网络编程基本原理… ………282 111.1网络模型与协议…… …1282 111.2地址…… 284 1.3端 口………………………………85 1114mP协议…………………………285 1115用户数据报协议UDP…… …286 111.6传输控制协议TCP… 286 11.1.7客户机/服务器模型… …………287 11.2套接字编程 287 112.1套接字地址结构…… 288 112.2创建套接字…… …288 11.2.3建立连接…… …289 11.24绑定套接字…………………………………………290 112.5在套接字上监听 “““““““…·……界果 290 11.26接受连接… …"291 11.2.7TCP套接字约数据传输……………………291 11.2.8UDP套接字的数据传输 “a“ …………292 1129关闭套接字 294 11.2.10主要系统调用函数……………………………294 13一个面向连接的 Client/Server实例…… …301 114编写安全的代码… ………308 1141网络攻击………………………………308 1142缓冲区溢出…… 399 114.3输入检查……………………………………………310 11.5编程实践:编程实现端口扫描器实例 …311 11.6进一步学习建议……………………………314 11.7习题 314 第12章GTK+图形界面编程……… 315 12.1 Linux下的图形界面编程…………15 121.1Qt和GTK+ ““““……………… …315 12.1.2GTK+简介… ……315 LhuκC编程实战 122一个简单的例子…… …316 12.3消息和回调函数… ……1319 124GTK+的面向对象机制……120 12.5排列控件…… ………………323 12..1使用box排列控件………… …323 12.5.2使用 table排列控件… 325 12.6常用控件… ………30 12.6.1进度条、微条按钮、组合框 ……30 12.6,2表格控件…………………………332 12.6.3生成对话框…………………… 333 12.64使用菜单…… ……34 12.7进一步学习建议… ………………336 第四篇 lLinux项目实践 第13章项目实践:BT下载软件的开发……………………………………38 13.1·BT软件简述…………………338 13.2 BitTorrent协议…………… 39 13.2.1概要介绍…………339 13.2.,2基于BT协议的文件分发系统的构成… 339 13.2.3B编码… 340 13.2.4种子文件的结构…………………340 132.5与 Tracker交互…………………………142 13.26pecr之间的通信协议… ……343 13.2.7关键算法和策略……………………………………345 133系统结构设计………………………………………347 134各个模块的设计和实现… ……48 134.1种子解祈模块的设计和实现… “·+·!黑节界 349 1342位图管理模块的设计和实现… ……359 13.4.3出错处理模块的没计和实现……………………363 1344运行日志模块的没计和实现…………………3 13.4.5信号处理模块的设计和实现…………………36 134.6Peer管理模块的设计和实现… 366 13.4.7消息处理模块的设计和实现 372 1348缓冲管理模块的设计和实现……………384 13.4.9策略管理模块的设计和实现……393 13.4.10连接 Tracker模块的设计和实现…… 1397 13.4.11与per交换数据模块的设计和实现…………403 134.12主函数的设计和实现……………………………………………………411 134.13调试和测试 8 爱自曲 Freedomcom …:::………………………:412

...展开详情
试读 127P linux C编程实战.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
linux C编程实战.pdf 43积分/C币 立即下载
1/127
linux C编程实战.pdf第1页
linux C编程实战.pdf第2页
linux C编程实战.pdf第3页
linux C编程实战.pdf第4页
linux C编程实战.pdf第5页
linux C编程实战.pdf第6页
linux C编程实战.pdf第7页
linux C编程实战.pdf第8页
linux C编程实战.pdf第9页
linux C编程实战.pdf第10页
linux C编程实战.pdf第11页
linux C编程实战.pdf第12页
linux C编程实战.pdf第13页
linux C编程实战.pdf第14页
linux C编程实战.pdf第15页
linux C编程实战.pdf第16页
linux C编程实战.pdf第17页
linux C编程实战.pdf第18页
linux C编程实战.pdf第19页
linux C编程实战.pdf第20页

试读结束, 可继续阅读

43积分/C币 立即下载 >