Linux 系统高级编程 ¶
原书主页 ¶
AdvancedLinuxProgramming
全部章节原版(英文)电子书下载:这里(.pdf 格式)
示例源码:这里(.tar.gz 格式)
简介 ¶
AdvancedLinuxProgramming 是为对C语言和Linux系统有必要认识,希望开始学习Linux平台上的C语言开发的程序员准备的教程,包含了从开发环境的设置到基本API和系统服务的介绍。 本站点是我作为ALP(非官方)译者,为面向国内Linux新手推广ALP而做的尝试。这里将刊载ALP译本、代码,并尝试继续发展并完善这本书,为新开发者提供一个良好的开始学习的地方。
译者:完美废人、四月,审校:小锁。
新闻 ¶
- 2010/08/29
- 最近被人问起,终于决定向这里迁移了。
- 2009/11/25
- 全书早就在这里了。准备过段时间,整理其它东西一起挪到 sf 去。请收藏新地址 http://sourceforge.net/apps/trac/elpi/wiki
- 2009/7/21
- 建立 Google Group http://groups.google.com/group/alpcn ,用于讨论及发布新闻等。欢迎加入群组并参与讨论。
多种工具相关部分先行审校发布。其余内容继续审校中。 - 2009/7/19
- 第一卷 Advanced UNIX Programming With Linux 全书登入本 Wiki。第二卷 Mastering Linux 开始校对登入。
目录 ¶
I Advanced UNIX Programming With Linux?
-
起步
- 用Emacs进行编辑
- 用GCC编译
- 用GNU Make自动完成编译过程
- 用GDB进行调试
- 获取更多信息
-
编写优质GNU/Linux软件
- 与运行环境交互
- 防御性编码
- 编写并使用程序库
-
进程
- 查看进程
- 创建进程
- 信号
- 进程终止
-
线程
- 创建线程
- 取消线程
- 线程专有数据
- 同步和临界代码段
- GNU/Linux 的线程实现
- 进程 VS 线程
-
进程间通信
- 共享内存
- 进程信号量
- 映射内存
- 管道
- 套接字
II. Mastering Linux?
-
设备
- 设备类型
- 设备号
- 设备文件
- 硬件设备
- 特殊设备
- PTYs
- ioctl
-
/proc文件系统
- 从/proc文件系统中提取信息
- 进程项
- 硬件信息
- 内核信息
- 驱动器、挂载和文件系统
- 统计信息
-
Linux 系统调用
- 使用strace
- access:测试文件权限
- fcntl:锁和其他文件操作
- fsync和fdatasync: 刷新磁盘缓存
- getrlimit和setrlimit:资源限制
- getrusage: 进程统计
- gettimeofaday: 挂钟时间
- mlock家族:锁物理内存
- mprotect: 设置内存访问权限
- nanosleep: 高精度睡眠
- readlink:读符号链接
- sendfile:快速数据传输
- setitimer: 设置定时器间隔
- sysinfo: 获得系统统计
- uname
-
内联汇编代码
- 何时使用汇编语言
- 简单内联汇编
- 汇编语法扩展
- 例子
- 优化问题
- 维护和可移植性问题
-
安全性
- 用户和组
- 进程用户 ID 和组 ID
- 文件系统权限
- 真实 ID 和有效 ID
- 用户身份验证
- 更多安全漏洞
-
一个 GNU/Linux 示例应用程序
- 概要
- 实现
- 模块
- 使用服务器
- 结束战斗
III. AlpAppendixes?
-
其它开发工具
- 静态程序分析
- 找到动态内存错误
- 性能调优
-
底层I/O
- 读写数据
- stat
- 向量读写
- 与C标准库I/O函数的联系
- 其它文件操作
- 读目录内容
- 信号表?
-
在线资源?
- 通用信息?
- GNU/Linux 软件信息?
- 其它站点?
- OpenPublicationLicense
- The GNU General Public License
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)