实例介绍
本书系统地介绍了在Linux平台下用C语言进行程序开发的过程,集趣味性、实战性于一体的160多段代码实例,帮助读者快速掌握在Linux平台下进行C语言程序开发的方法和技巧,并通过一个原创的BT软件下载综合案例的讲解,引导读者具备开发大型应用程序的能力。 本书内容翔实,主要包括:Linux系统下C语言及其编程环境的介绍,系统编程的所有主题——文件和目录、进程、线程、信号、进程间通信、网络编程和图形界面编程、出错处理、库的创建与使用、编写安全的代码等。 本书结构合理、概念清晰,依照“基础知识→难点解析→重点提示→编程实践”的讲解方式,使读者理解更深入、应用更容易、掌握更快速。随书的光盘包括:全部源代码及相关学习资料。本书适合有一定C语言基础,需要在Linux系统上编程的程序设计人员阅读,可作为各类培训学校培训教材,也可作为大中专院校师生的教材或参考书。 第一篇 Linux和C编程基础 第1章 Linux系统概述 1.1 Linux操作系统介绍 1.1.1 Linux的发展历程 1.1.2 Linux的特性 1.1.3 Linux的内核版本和发行版本 1.2 C语言简介 1.2.1 C语言的发展历史 1.2.2 C语言的特点 1.3 Linux的安装、启动与关闭 1.4 Linux的基本使用 1.4.1 Linux终端 1.4.2 Linux Shell 1.4.3 Linux的常用命令 1.5 Linux下程序的开发环境和开发过程 1.6 习题 第2章 C编程基础、Vi和Emacs编辑器 2.1 C程序的结构 2.2 C语言的基本数据类型 2.2.1 整型 2.2.2 浮点型 2.2.3 字符型 2.3 运算符和表达式 2.3.1 算术运算符与算术表达式 2.3.2 赋值运算符与赋值表达式 2.3.3 逗号运算符与逗号表达式 2.4 标准输入输出函数 2.4.1 字符输出函数putchar 2.4.2 字符输入函数getchar 2.4.3 格式化输出函数printf 2.4.4 格式化输入函数scanf 2.5 Vi编辑器的使用 2.5.1 Vi的工作模式 2.5.2 启动Vi 2.5.3 保存文件和退出Vi 2.5.4 光标的移动 2.5.5 文本的删除 2.5.6 文本查找和替换 2.5.7 文本的复制与粘贴 2.6 Emacs编辑器的使用 2.7 命名规范 2.7.1 标识符 2.7.2 关键字 2.7.3 命名规范 2.8 面试题选与实例精讲 2.8.1 面试题选 2.8.2 实例精讲 2.9 习题 第3章 C程序控制结构和gcc编译器 3.1 C程序的控制结构 3.1.1 C程序语句概述 3.1.2 C程序的3种基本控制结构 3.2 分支控制结构 3.2.1 关系运算符与关系表达式 3.2.2 逻辑运算符与逻辑表达式 3.2.3 if语句 3.2.4 switch语句 3.3 循环控制结构 3.3.1 while语句 3.3.2 do...while语句 3.3.3 for语句 3.3.4 break语句和continue语句 3.4 gcc编译器 3.4.1 程序的编译过程 3.4.2 gcc的常用选项 3.4.3 gcc的报错类型及对策 3.5 面试题选与实例精讲 3.5.1 面试题选 3.5.2 实例精讲 3.6 习题 第4章 C函数、数组、指针和调试器gdb 第5章 C语言预处理、结构体和make的使用 第二篇 Linux系统编程 第6章 文件操作 第7章 进程控制 第8章 线程控制 第9章 信号及信号处理 第10章 进程间通信 第三篇 Linux网络和图形界面编程 第11章 网络编程 第12章 GTK+图形界面编程 第四篇 Linux项目实践 第13章 项目实践:BT下载软件的开发
【实例截图】
【核心代码】
4744300845224211022.rar
└── Linux C编程实战
├── BT软件下载开发完整版-00.doc
├── BT软件下载开发完整版-01.doc
├── Linux下C编程_源代码
│ ├── 源代码_BT下载程序
│ │ ├── bitfield.c
│ │ ├── bitfield.h
│ │ ├── bterror.c
│ │ ├── bterror.h
│ │ ├── data.c
│ │ ├── data.h
│ │ ├── log.c
│ │ ├── log.h
│ │ ├── main.c
│ │ ├── Makefile
│ │ ├── message.c
│ │ ├── message.h
│ │ ├── parse_metafile.c
│ │ ├── parse_metafile.h
│ │ ├── peer.c
│ │ ├── peer.h
│ │ ├── policy.c
│ │ ├── policy.h
│ │ ├── sha1.c
│ │ ├── sha1.h
│ │ ├── signal_hander.c
│ │ ├── signal_hander.h
│ │ ├── torrent.c
│ │ ├── torrent.h
│ │ ├── tracker.c
│ │ ├── tracker.h
│ │ └── ttorrent
│ ├── 程序使用说明.txt
│ ├── 第10章
│ │ ├── client
│ │ ├── client2
│ │ ├── client2.c
│ │ ├── client.c
│ │ ├── clinet3
│ │ ├── clinet3.c
│ │ ├── ctrlpocess
│ │ ├── ctrlpocess.c
│ │ ├── dual_pipe
│ │ ├── dual_pipe.c
│ │ ├── ftok
│ │ ├── ftok.c
│ │ ├── Makefile
│ │ ├── monitor
│ │ ├── monitor.c
│ │ ├── mylib.c
│ │ ├── mylib.h
│ │ ├── mylib.o
│ │ ├── opmsg
│ │ ├── opmsg.c
│ │ ├── pipe
│ │ ├── pipe.c
│ │ ├── procread
│ │ ├── procread.c
│ │ ├── procwrite
│ │ ├── procwrite.c
│ │ ├── rcvmsg
│ │ ├── rcvmsg.c
│ │ ├── reader
│ │ ├── reader.c
│ │ ├── sendmsg
│ │ ├── sendmsg.c
│ │ ├── server
│ │ ├── server2
│ │ ├── server2.c
│ │ ├── server3
│ │ ├── server3.c
│ │ ├── server.c
│ │ ├── sharemem.h
│ │ ├── test.c
│ │ ├── testso.c
│ │ ├── writer
│ │ └── writer.c
│ ├── 第11章
│ │ ├── Makefile
│ │ ├── my_client
│ │ ├── my_client.c
│ │ ├── my_recv.c
│ │ ├── my_recv.h
│ │ ├── my_recv.o
│ │ ├── my_scaner
│ │ ├── my_scaner.c
│ │ ├── my_server
│ │ ├── my_server.c
│ │ ├── my_strcpy
│ │ ├── my_strcpy.c
│ │ ├── test_address
│ │ ├── test_address.c
│ │ ├── test_select
│ │ └── test_select.c
│ ├── 第12章
│ │ ├── box
│ │ ├── box.c
│ │ ├── button_box
│ │ ├── button_box.c
│ │ ├── control
│ │ ├── control.c
│ │ ├── dialog.c
│ │ ├── gtkwin
│ │ ├── gtkwin.c
│ │ ├── Makefile
│ │ ├── Makefile_in
│ │ ├── menu
│ │ ├── menu.c
│ │ ├── table
│ │ ├── table.c
│ │ ├── test
│ │ └── test.c
│ ├── 第1章
│ │ ├── 1-1
│ │ ├── 1-1.c
│ │ └── Makefile
│ ├── 第2章
│ │ ├── 2-1
│ │ ├── 2-10
│ │ ├── 2-10.c
│ │ ├── 2-11
│ │ ├── 2-11.c
│ │ ├── 2-1.c
│ │ ├── 2-2
│ │ ├── 2-2.c
│ │ ├── 2-3
│ │ ├── 2-3.c
│ │ ├── 2-4
│ │ ├── 2-4.c
│ │ ├── 2-5
│ │ ├── 2-5.c
│ │ ├── 2-6
│ │ ├── 2-6.c
│ │ ├── 2-7
│ │ ├── 2-7.c
│ │ ├── 2-8
│ │ ├── 2-8.c
│ │ ├── 2-9
│ │ ├── 2-9.c
│ │ └── Makefile
│ ├── 第3章
│ │ ├── 3-1
│ │ ├── 3-1.c
│ │ ├── 3-2
│ │ ├── 3-2.c
│ │ ├── 3-3
│ │ ├── 3-3.c
│ │ ├── 3-4
│ │ ├── 3-4.c
│ │ ├── 3-5
│ │ ├── 3-5.c
│ │ ├── 3-6
│ │ ├── 3-6.c
│ │ ├── 3-7
│ │ ├── 3-7.c
│ │ └── Makefile
│ ├── 第4章
│ │ ├── 4-1
│ │ ├── 4-10
│ │ ├── 4-10.c
│ │ ├── 4-11
│ │ ├── 4-11.c
│ │ ├── 4-12
│ │ ├── 4-12.c
│ │ ├── 4-13
│ │ ├── 4-13.c
│ │ ├── 4-14
│ │ ├── 4-14.c
│ │ ├── 4-15
│ │ ├── 4-15.c
│ │ ├── 4-16
│ │ ├── 4-16.c
│ │ ├── 4-17
│ │ ├── 4-17.c
│ │ ├── 4-18
│ │ ├── 4-18.c
│ │ ├── 4-1.c
│ │ ├── 4-2
│ │ ├── 4-20
│ │ ├── 4-20.c
│ │ ├── 4-22
│ │ ├── 4-22.c
│ │ ├── 4-23
│ │ ├── 4-23.c
│ │ ├── 4-24
│ │ ├── 4-24.c
│ │ ├── 4-26
│ │ ├── 4-26.c
│ │ ├── 4-27
│ │ ├── 4-27.c
│ │ ├── 4-2.c
│ │ ├── 4-3-1
│ │ ├── 4-3-1.c
│ │ ├── 4-3-2
│ │ ├── 4-32
│ │ ├── 4-3-2.c
│ │ ├── 4-32.c
│ │ ├── 4-33
│ │ ├── 4-33.c
│ │ ├── 4-34.c
│ │ ├── 4-35
│ │ ├── 4-35.c
│ │ ├── 4-36
│ │ ├── 4-36.c
│ │ ├── 4-37.c
│ │ ├── 4-38
│ │ ├── 4-38.c
│ │ ├── 4-39
│ │ ├── 4-39.c
│ │ ├── 4-4
│ │ ├── 4-40.c
│ │ ├── 4-4.c
│ │ ├── 4-5.c
│ │ ├── 4-6
│ │ ├── 4-6-1.c
│ │ ├── 4-6-2.c
│ │ ├── 4-7
│ │ ├── 4-7.c
│ │ ├── 4-8
│ │ ├── 4-8.c
│ │ ├── 4-9
│ │ ├── 4-9.c
│ │ └── Makefile
│ ├── 第5章
│ │ ├── 5-1
│ │ ├── 5-11
│ │ ├── 5-11.c
│ │ ├── 5-1.c
│ │ ├── 5-2
│ │ ├── 5-2.c
│ │ ├── 5-3
│ │ ├── 5-3.c
│ │ ├── 5-4
│ │ ├── 5-4.c
│ │ ├── 5-5
│ │ ├── 5-5.c
│ │ ├── 5-6
│ │ ├── 5-6.c
│ │ └── Makefile
│ ├── 第6章
│ │ ├── fcntl_access
│ │ ├── fcntl_access.c
│ │ ├── fcntl_lock
│ │ ├── fcntl_lock.c
│ │ ├── ioctl_net
│ │ ├── ioctl_net.c
│ │ ├── Makefile
│ │ ├── my_cd
│ │ ├── my_cd.c
│ │ ├── my_chmod
│ │ ├── my_chmod.c
│ │ ├── my_chomod
│ │ ├── my_chomod.c
│ │ ├── my_create
│ │ ├── my_create.c
│ │ ├── my_ls
│ │ ├── my_ls.c
│ │ ├── my_mv
│ │ ├── my_mv.c
│ │ ├── my_rwl
│ │ ├── my_rwl.c
│ │ ├── show_files
│ │ ├── show_files.c
│ │ ├── test_umask
│ │ ├── test_umask.c
│ │ ├── unlink_temp
│ │ └── unlink_temp.c
│ ├── 第7章
│ │ ├── daemon
│ │ ├── daemon.c
│ │ ├── diffork
│ │ ├── diffork.c
│ │ ├── env
│ │ ├── env.c
│ │ ├── execve
│ │ ├── execve.c
│ │ ├── fork
│ │ ├── fork2
│ │ ├── fork2.c
│ │ ├── fork3
│ │ ├── fork3.c
│ │ ├── fork.c
│ │ ├── getpid
│ │ ├── getpid.c
│ │ ├── Makefile
│ │ ├── mynice
│ │ ├── mynice.c
│ │ ├── myshell
│ │ ├── myshell.c
│ │ ├── processimage
│ │ ├── processimage.c
│ │ ├── studyuid
│ │ ├── studyuid.c
│ │ ├── wait
│ │ └── wait.c
│ ├── 第8章
│ │ ├── checkerrno
│ │ ├── checkerrno.c
│ │ ├── condition
│ │ ├── condition.c
│ │ ├── createthread
│ │ ├── createthread.c
│ │ ├── errshow
│ │ ├── errshow.c
│ │ ├── jointhread
│ │ ├── jointhread.c
│ │ ├── Makefile
│ │ ├── oncerun
│ │ ├── oncerun.c
│ │ ├── threaddata
│ │ └── threaddata.c
│ └── 第9章
│ ├── Makefile
│ ├── my_kill
│ ├── my_kill.c
│ ├── my_sigaction
│ ├── my_sigaction.c
│ ├── my_signal
│ ├── my_signal.c
│ ├── recv_data_signo
│ ├── recv_data_signo.c
│ ├── right_return
│ ├── right_return.c
│ ├── send_data_signo
│ ├── send_data_signo.c
│ ├── sig_mask
│ ├── sig_mask.c
│ ├── sig_suspend
│ ├── sig_suspend.c
│ ├── simulate_ping
│ ├── simulate_ping.c
│ ├── test_setitimer
│ ├── test_setitimer.c
│ ├── wait_cycle
│ ├── wait_cycle.c
│ ├── wait_pause
│ ├── wait_pause.c
│ ├── wait_sigsuspend
│ ├── wait_sigsuspend.c
│ ├── wrong_return
│ └── wrong_return.c
├── Linux安装.doc
├── 附录一.doc
├── 附录三.doc
└── 附录二.doc
15 directories, 330 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论