欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

Linux GNU C 程序观察 罗秋明著 2020年版

收藏
  • 大小:66.36 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
Linux GNU C 程序观察
作者:罗秋明著
出版时间:2020年版
内容简介
  《Linux GNU C 程序观察》所讨论的内容是“C语言程序设计”类课程的后续知识,涉及C程序在Linux环境下经过GCC编译/链接生成可执行文件以及在系统中运行的问题。《Linux GNU C 程序观察》能使读者在面对C程序的工程实践问题时,做到心中有数、处处不存疑。全书共7章,第1章介绍环境准备,第2章介绍C程序的预处理、编译、汇编和链接的全过程,并介绍了一点关于GCC编译命令及编译选项、GDB调试初步概念,第3章专注于编译环节,即从C到汇编的转换,第4章专注于链接过程,第5章介绍可执行文件在系统中运行时,观察进程与系统的关系、进程对库的调用、程序异常行为等问题,第6、7章介绍一些性能剖析方法,包括GCC自带工具、库函数打桩方法、valgrind及perf工具的简单使用等,第8章介绍一个综合性的实例,即如何将HDFS文件系统使用的gzip压缩,从利用zlib库在CPU上计算转换成利用FPGA加速卡的过程。该实例涉及库的使用和修改、makefile以及相应的C程序实现等多方面知识,让读者从一个工程需求的角度考察其方案与实现。每章后面都有一些练习题,其中有一个与zlib库相关的任务贯穿了各章,读者通过这个连贯的练习将各章知识融会贯通。《Linux GNU C 程序观察》可以作为计算机及相关专业高年级本科生或研究生学习Linux环境下的C程序设计教学用书,对希望深入了解Linux内核的读者和相关开发人员也非常有参考价值。
目录
第1章 实验环境构建
1.1 安装Linux
1.1.1 下载CentoS7
1.1.2 CentOS7安装
1.2 虚拟机安装Linux
1.2.1 VirtuaIBox安装
1.2.2 虚拟机配置
1.2.3 虚拟机安装Linux
1.3 ssh远程终端访问
1.3.1 PuTTY客户端
1.3.2 无密码登录
1.3.3 Xming图形终端
1.4 初次接触Linux
1.4.1 简单操作
1.4.2 运行HelloWorld程序
1.5 小结
第2章 程序编译与运行
2.1 编译的各阶段
2.1.1 源代码
2.1.2 预处理
2.1.3 编译
2.1.4 汇编
2.1.5 链接
2.1.6 GCC编译驱动
2.2 GCC基本用法
2.2.1 C语言标准
2.2.2 库的使用
2.2.3 搜索路径
2.2.4 编译警告
2.3 GDB调试
2.3.1 代码准备
2.3.2 运行代码
2.3.3 查看变量和内存
2.3.4 图形前端TUI
2.4 小结
练习
第3章 数据、运算与控制
3.1 x86-64 ISA
3.1.1 寄存器
3.1.2 内存空间与I/O空间
3.2 数据
3.2.1 数据大小、字节序
3.2.2 数组、结构体和联合体
3.2.3 数据布局
3.3 运算
3.3.1 数据传送
3.3.2 算术/逻辑运算
3.3.3 加载有效地址
3.4 控制
3.4.1 条件跳转
3.4.2 函数调用
……
第4章 链接与可执行文件
第5章 链接脚本与makefile
第6章 程序运行
第7章 性能剖析
第8章 综合实例:HDFS中实现zlib库的旁路
附录
下载地址