11.1 概述
优质
小牛编辑
126浏览
2023-12-01
- 目录
- 11.1 概述
- 11.2 工具
- 11.3 系统调用
- 11.4 返回值
- 11.5 建立可移植的代码
- 11.6 编写第一个程序
- 11.7 编写 UNIX® 过滤程序
- 11.8 缓存 I/O
- 11.9 命令行参数
- 11.10 UNIX® 中的环境
- 11.11 文件处理
- 11.12 One-Pointed Mind
- 11.13 Using the FPU
- 11.14 忠告
- 11.15 致谢
本章节由 G. Adam Stanislav <adam@redprince.net>
撰写。 翻译: sunlecn@gmail.com。
11.1 概述
涉及 UNIX 下的汇编语言的相关资料很少。 通常我们都假设几乎没有人希望用到它, 因为不同的 UNIX 可能是在不同的处理器上运行的, 所以为了移植性的考虑所有的东西都应该用 C 来实现。
实际上, C 语言的移植性是非常神秘的。即使 C 程序在不同的 UNIX® 之间移植的时候需要进行修改, 但这些修改绝对和在什么处理器上运行无关。 特别明显地是, 这样的程序充满了在编译时对于系统依赖的条件描述。
即使我们希望所有的 UNIX 软件都应该用 C 语言或者是其他的高级语言编写, 但是我们仍然需要掌握汇编语言的程序员: 不然谁将完成 C 语言函数库中直接访问内核的部分?
在本章节,我将尝试着说明如何用汇编语言编写 UNIX 程序,特别是在 FreeBSD 上的程序。
这个章节不会讲解汇编语言的基础知识。现在已经有很多相关的资料了 (如果你想寻找完整的关于汇编语言的在线课程, 请看 Randall Hyde 的 《汇编语言艺术》; 如果你想选择一本书, 那么去看看 Jeff Duntemann 的 《循序渐进学汇编》) 不过, 一旦你掌握了这个章节的内容, 任何汇编语言的程序员, 将能够在 FreeBSD 上高效、快速地编写程序。