Linux 下的C编程 (精装)

Linux 下的C编程 (精装)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2001-11
版次: 1
ISBN: 9787115097880
定价: 48.00
装帧: 平装
开本: 其他
纸张: 胶版纸
页数: 429页
  • 本书系统地介绍了在Linux平台下用C语言进行程序开发的过程,并通过列举大量的程序实例,使读者很快掌握在Linux平台下进行C程序开发的方法和技巧,并具备开发大型应用程序的能力。    本书内容详实,主要包括:Linux平台下C语言编程环境的介绍,C语言编译器、调试工具和自动维护工具的使用方法,Linux系统提供特有的函数调用,在C程序中访问文件的方法,进程的概念、进程间通信以及多进程同步运行的实现手段,C语言网络编程方法等。    本书结构合理、概念清晰、实例丰富,并具有很强的启发性和实用性,适用于在L 第1篇 基础篇第1章 Linux系统和C语言简介 31.1 Linux系统简介 41.1.1 Linux系统的发展简介 41.1.2 Linux系统的主要优异性能 51.1.3 Linux系统的主要构成 51.1.4 现行Linux系统的主要版本 61.2 C语言简介 61.2.1 C语言概述 61.2.2 数据类型 71.2.3 运算符和表达式 151.2.4 C程序语句 161.2.5 函数 221.2.6 编译预处理 231.3 Linux平台下C程序的开发 251.3.1 在UNIX操作系统下运行C程序的步骤 251.3.2 用Turbo C运行C程序的步骤 251.3.3 Linux平台下C程序的开发 251.4 小结与练习 261.4.1 小结 261.4.2 习题与思考 26第2章 Emacs编辑器 272.1 Emacs简介 282.1.1 Emacs编辑器的运行和结束 282.1.2 基本操作 282.2 C模式 302.2.1 自动缩进 302.2.2 注释 312.2.3 预处理扩展 312.2.4 自动状态 312.2.5 使用Emacs进行编译和调试 312.3 小结与练习 322.3.1 小结 322.3.2 习题与思考 32第3章 C语言编译器gcc 353.1 gcc的使用 363.1.1 一个最基本的实例 363.1.2 gcc的用法 373.1.3 警告 403.1.4 优化gcc 413.1.5 调试标记 463.1.6 使用高级gcc选项 483.2 gcc编译流程简介 513.2.1 C预处理器 cpp 513.2.2 GUN连接器 ld 513.2.3 GUN汇编器 as 513.2.4 文件处理器 ar 523.2.5 库显示 ldd 523.3 其他编译调试工具 523.3.1 C++编译器 g++ 523.3.2 EGCS 523.3.3 calls 533.3.4 indent 533.3.5 gprof 533.3.6 f2c和p2c 533.4 小结与练习 533.4.1 小结 533.4.2 习题与思考 54第4章 调试工具gdb 554.1 gdb符号调试器简介 564.2 gdb功能详解及其应用 574.2.1 调试步骤 574.2.2 显示数据命令display和print 674.2.3 使用断点 734.2.4 使用观察窗 774.2.5 core dump分析 814.3 其他调试工具 884.4 小结与练习 884.4.1 小结 884.4.2 习题与思考 88第5章 程序自动维护工具make 915.1 简单使用及属性控制 925.1.1 make的简单使用 945.1.2 make属性的控制 1055.2 高级使用 1125.2.1 宏的使用 1125.2.2 内部规则 1185.2.3 make递归 1215.2.4 依赖性的计算 1225.3 库的使用 1255.3.1 创建库和维护库 1265.3.2 库的链接 1275.4 小结与练习 1285.4.1 小结 1285.4.2 习题与思考 129第6章 文件操作 1316.1 文件系统简介 1326.1.1 文件 1326.1.2 文件的相关信息 1346.1.3 文件系统 1356.2 基于文件描述符的I/O操作 1366.2.1 文件的创建、打开与关闭 1366.2.2 文件的读写操作 1396.2.3 文件的定位 1446.3 文件的其他操作 1466.3.1 文件属性的修改 1466.3.2 文件的其他操作 1506.4 特殊文件的操作 1526.4.1 目录文件的操作 1536.4.2 链接文件的操作 1546.4.3 管道文件的操作 1576.4.4 设备文件 1586.5 小结与练习 1586.5.1 小结 1586.5.2 习题与思考 159第7章 输入输出——基于流的操作 1617.1 流简介 1627.2 基于流的I/O操作 1647.2.1 流的打开和关闭 1647.2.2 缓冲区的操作 1667.2.3 直接输入输出 1677.2.4 格式化输入输出 1707.2.5 基于字符和行的输入输出 1737.3 临时文件 1787.4 小结与练习 1827.4.1 小结 1827.4.2 习题与思考 182第8章 内存管理 1838.1 静态内存与动态内存 1848.1.1 静态内存 1848.1.2 动态内存 1868.2 安全性问题 1878.3 内存管理操作 1888.3.1 动态内存的分配 1888.3.2 动态内存的释放 1898.3.3 调整动态内存的大小 1908.3.4 分配堆栈 1928.3.5 内存锁定 1938.4 使用链表 1938.5 内存映像I/O 1978.5.1 创建内存映像文件 1988.5.2 撤销内存映像文件 1998.5.3 将内存映像写入外存 1998.5.4 改变内存映像文件的属性 2028.6 小结与练习 2028.6.1 小结 2028.6.2 习题与思考 203第9章 进程控制 2059.1 进程的基本概念 2069.1.1 进程基本介绍 2069.1.2 进程的属性 2079.2 进程控制的相关函数 2089.2.1 进程的创建 2089.2.2 进程等待 2139.2.3 进程的终止 2189.2.4 进程ID和进程组ID 2229.2.5 system函数 2279.3 多个进程间的关系 2299.3.1 进程组 2299.3.2 时间片的分配 2299.3.3 进程的同步 2319.4 线程 2329.4.1 线程的创建 2329.4.2 线程属性的设置 2329.4.3 结束线程 2349.4.4 线程的挂起 2349.4.5 取消线程 2359.4.6 互斥 2369.5 小结与练习 2369.5.1 小结 2369.5.2 习题与思考 237第2篇 提高篇第10章 信号及信号处理 24110.1 信号及其使用简介 24210.1.1 信号简介 24210.1.2 信号的使用 24410.2 信号操作的相关系统调用 24510.2.1 信号处理 24510.2.2 信号的阻塞 25510.2.3 发送信号 26210.3 信号处理的潜在危险 27210.4 小结与练习 27210.4.1 小结 27210.4.2 习题与思考 273第11章 进程间通信 27511.1 简介 27611.2 共享内存和信号量 27611.2.1 SYSV子系统的基本概念 27711.2.2 共享内存 27811.2.3 信号量 28611.3 管道 29911.3.1 管道的创建和关闭 29911.3.2 管道的读写操作 30111.4 命名管道 30311.4.1 命名管道的创建 30311.4.2 命名管道的使用 30411.5 消息队列 30911.5.1 消息队列的创建与打开 31011.5.2 向消息队列中发送消息 31011.5.3 从消息队列中接收消息 31111.5.4 消息队列的控制 31211.6 小结与练习 31411.6.1 小结 31411.6.2 习题与思考 314第12章 网络编程 31512.1 基本原理 31612.1.1 计算机网络体系结构模式 31612.1.2 TCP/IP协议 31812.1.3 客户/服务器模式 31912.1.4 套接口编程基础 32312.1.5 IP地址转换 33612.2 TCP套接口编程 34112.2.1 基于TCP的客户——服务器模式 34112.2.2 信号处理 34912.2.3 高级技术 35012.3 UDP套接口编程 36012.3.1 基于UDP的客户——服务器模式 36112.3.2 主要系统调用函数 36112.3.3 基于UDP套接口编程实例 36212.3.4 可靠性问题 36512.3.5 UDP套接口的连接 36712.4 原始套接口编程 36812.4.1 基本形式和操作 36912.4.2 原始套接口编程实例 37012.5 小结与练习 37612.5.1 小结 37612.5.2 习题与思考 376第13章 底层终端编程 37713.1 底层终端编程 37813.1.1 属性控制 37813.1.2 使用terminfo 38113.2 伪终端 38413.3 小结与练习 38513.3.1 小结 38513.3.2 习题与思考 385第3篇 实战篇第14章 实例一 38914.1 实例 39014.2 小结与练习 39414.2.1 小结 39414.2.2 习题与思考 394第15章 实例二 39515.1 实例 39615.2 小结与练习 40615.2.1 小结 40615.2.2 习题与思考 406附录 部分习题参考答案 407
  • 内容简介:
    本书系统地介绍了在Linux平台下用C语言进行程序开发的过程,并通过列举大量的程序实例,使读者很快掌握在Linux平台下进行C程序开发的方法和技巧,并具备开发大型应用程序的能力。    本书内容详实,主要包括:Linux平台下C语言编程环境的介绍,C语言编译器、调试工具和自动维护工具的使用方法,Linux系统提供特有的函数调用,在C程序中访问文件的方法,进程的概念、进程间通信以及多进程同步运行的实现手段,C语言网络编程方法等。    本书结构合理、概念清晰、实例丰富,并具有很强的启发性和实用性,适用于在L
  • 目录:
    第1篇 基础篇第1章 Linux系统和C语言简介 31.1 Linux系统简介 41.1.1 Linux系统的发展简介 41.1.2 Linux系统的主要优异性能 51.1.3 Linux系统的主要构成 51.1.4 现行Linux系统的主要版本 61.2 C语言简介 61.2.1 C语言概述 61.2.2 数据类型 71.2.3 运算符和表达式 151.2.4 C程序语句 161.2.5 函数 221.2.6 编译预处理 231.3 Linux平台下C程序的开发 251.3.1 在UNIX操作系统下运行C程序的步骤 251.3.2 用Turbo C运行C程序的步骤 251.3.3 Linux平台下C程序的开发 251.4 小结与练习 261.4.1 小结 261.4.2 习题与思考 26第2章 Emacs编辑器 272.1 Emacs简介 282.1.1 Emacs编辑器的运行和结束 282.1.2 基本操作 282.2 C模式 302.2.1 自动缩进 302.2.2 注释 312.2.3 预处理扩展 312.2.4 自动状态 312.2.5 使用Emacs进行编译和调试 312.3 小结与练习 322.3.1 小结 322.3.2 习题与思考 32第3章 C语言编译器gcc 353.1 gcc的使用 363.1.1 一个最基本的实例 363.1.2 gcc的用法 373.1.3 警告 403.1.4 优化gcc 413.1.5 调试标记 463.1.6 使用高级gcc选项 483.2 gcc编译流程简介 513.2.1 C预处理器 cpp 513.2.2 GUN连接器 ld 513.2.3 GUN汇编器 as 513.2.4 文件处理器 ar 523.2.5 库显示 ldd 523.3 其他编译调试工具 523.3.1 C++编译器 g++ 523.3.2 EGCS 523.3.3 calls 533.3.4 indent 533.3.5 gprof 533.3.6 f2c和p2c 533.4 小结与练习 533.4.1 小结 533.4.2 习题与思考 54第4章 调试工具gdb 554.1 gdb符号调试器简介 564.2 gdb功能详解及其应用 574.2.1 调试步骤 574.2.2 显示数据命令display和print 674.2.3 使用断点 734.2.4 使用观察窗 774.2.5 core dump分析 814.3 其他调试工具 884.4 小结与练习 884.4.1 小结 884.4.2 习题与思考 88第5章 程序自动维护工具make 915.1 简单使用及属性控制 925.1.1 make的简单使用 945.1.2 make属性的控制 1055.2 高级使用 1125.2.1 宏的使用 1125.2.2 内部规则 1185.2.3 make递归 1215.2.4 依赖性的计算 1225.3 库的使用 1255.3.1 创建库和维护库 1265.3.2 库的链接 1275.4 小结与练习 1285.4.1 小结 1285.4.2 习题与思考 129第6章 文件操作 1316.1 文件系统简介 1326.1.1 文件 1326.1.2 文件的相关信息 1346.1.3 文件系统 1356.2 基于文件描述符的I/O操作 1366.2.1 文件的创建、打开与关闭 1366.2.2 文件的读写操作 1396.2.3 文件的定位 1446.3 文件的其他操作 1466.3.1 文件属性的修改 1466.3.2 文件的其他操作 1506.4 特殊文件的操作 1526.4.1 目录文件的操作 1536.4.2 链接文件的操作 1546.4.3 管道文件的操作 1576.4.4 设备文件 1586.5 小结与练习 1586.5.1 小结 1586.5.2 习题与思考 159第7章 输入输出——基于流的操作 1617.1 流简介 1627.2 基于流的I/O操作 1647.2.1 流的打开和关闭 1647.2.2 缓冲区的操作 1667.2.3 直接输入输出 1677.2.4 格式化输入输出 1707.2.5 基于字符和行的输入输出 1737.3 临时文件 1787.4 小结与练习 1827.4.1 小结 1827.4.2 习题与思考 182第8章 内存管理 1838.1 静态内存与动态内存 1848.1.1 静态内存 1848.1.2 动态内存 1868.2 安全性问题 1878.3 内存管理操作 1888.3.1 动态内存的分配 1888.3.2 动态内存的释放 1898.3.3 调整动态内存的大小 1908.3.4 分配堆栈 1928.3.5 内存锁定 1938.4 使用链表 1938.5 内存映像I/O 1978.5.1 创建内存映像文件 1988.5.2 撤销内存映像文件 1998.5.3 将内存映像写入外存 1998.5.4 改变内存映像文件的属性 2028.6 小结与练习 2028.6.1 小结 2028.6.2 习题与思考 203第9章 进程控制 2059.1 进程的基本概念 2069.1.1 进程基本介绍 2069.1.2 进程的属性 2079.2 进程控制的相关函数 2089.2.1 进程的创建 2089.2.2 进程等待 2139.2.3 进程的终止 2189.2.4 进程ID和进程组ID 2229.2.5 system函数 2279.3 多个进程间的关系 2299.3.1 进程组 2299.3.2 时间片的分配 2299.3.3 进程的同步 2319.4 线程 2329.4.1 线程的创建 2329.4.2 线程属性的设置 2329.4.3 结束线程 2349.4.4 线程的挂起 2349.4.5 取消线程 2359.4.6 互斥 2369.5 小结与练习 2369.5.1 小结 2369.5.2 习题与思考 237第2篇 提高篇第10章 信号及信号处理 24110.1 信号及其使用简介 24210.1.1 信号简介 24210.1.2 信号的使用 24410.2 信号操作的相关系统调用 24510.2.1 信号处理 24510.2.2 信号的阻塞 25510.2.3 发送信号 26210.3 信号处理的潜在危险 27210.4 小结与练习 27210.4.1 小结 27210.4.2 习题与思考 273第11章 进程间通信 27511.1 简介 27611.2 共享内存和信号量 27611.2.1 SYSV子系统的基本概念 27711.2.2 共享内存 27811.2.3 信号量 28611.3 管道 29911.3.1 管道的创建和关闭 29911.3.2 管道的读写操作 30111.4 命名管道 30311.4.1 命名管道的创建 30311.4.2 命名管道的使用 30411.5 消息队列 30911.5.1 消息队列的创建与打开 31011.5.2 向消息队列中发送消息 31011.5.3 从消息队列中接收消息 31111.5.4 消息队列的控制 31211.6 小结与练习 31411.6.1 小结 31411.6.2 习题与思考 314第12章 网络编程 31512.1 基本原理 31612.1.1 计算机网络体系结构模式 31612.1.2 TCP/IP协议 31812.1.3 客户/服务器模式 31912.1.4 套接口编程基础 32312.1.5 IP地址转换 33612.2 TCP套接口编程 34112.2.1 基于TCP的客户——服务器模式 34112.2.2 信号处理 34912.2.3 高级技术 35012.3 UDP套接口编程 36012.3.1 基于UDP的客户——服务器模式 36112.3.2 主要系统调用函数 36112.3.3 基于UDP套接口编程实例 36212.3.4 可靠性问题 36512.3.5 UDP套接口的连接 36712.4 原始套接口编程 36812.4.1 基本形式和操作 36912.4.2 原始套接口编程实例 37012.5 小结与练习 37612.5.1 小结 37612.5.2 习题与思考 376第13章 底层终端编程 37713.1 底层终端编程 37813.1.1 属性控制 37813.1.2 使用terminfo 38113.2 伪终端 38413.3 小结与练习 38513.3.1 小结 38513.3.2 习题与思考 385第3篇 实战篇第14章 实例一 38914.1 实例 39014.2 小结与练习 39414.2.1 小结 39414.2.2 习题与思考 394第15章 实例二 39515.1 实例 39615.2 小结与练习 40615.2.1 小结 40615.2.2 习题与思考 406附录 部分习题参考答案 407
查看详情
相关图书 / 更多
Linux 下的C编程 (精装)
Linux操作系统实战 (Ubuntu)(慕课版)
千锋教育高教产品研发部
Linux 下的C编程 (精装)
Linux应用与实训教程(计算机系列教材)
曲海平、刘飞 著
Linux 下的C编程 (精装)
Linux操作系统(微课版) (RHEL 8/CentOS 8)(第2版)
杨云
Linux 下的C编程 (精装)
Linux系统管理基础项目教程(CentOS7.2)(微课版)
金京犬、杨寅冬 著
Linux 下的C编程 (精装)
Linux系统编程实践
李成勇 著
Linux 下的C编程 (精装)
Linux操作系统基础
梁波;张婷婷;高秀东
Linux 下的C编程 (精装)
Linux网络服务器配置与管理项目教程(第二版)
丛佩丽;李建光
Linux 下的C编程 (精装)
LiteOS应用开发实践教程
吴冬燕
Linux 下的C编程 (精装)
Linux嵌入式系统开发从小白到大牛
赵凯 著
Linux 下的C编程 (精装)
Linux网络操作系统(CentOS8.0)
刘猛、张文库、苏伟斌、王浩、黄超强 编
Linux 下的C编程 (精装)
Linux容器云实战——Docker与Kubernetes集群(慕课版)
千锋教育高教产品研发部 著
Linux 下的C编程 (精装)
Linux就该这么学(第2版)
刘遄 著