目录
当前位置: 首页 > 文档资料 > FreeBSD 开发手册 >

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 撰写。 翻译: sunlecn@gmail.com。

11.1 概述

涉及 UNIX 下的汇编语言的相关资料很少。 通常我们都假设几乎没有人希望用到它, 因为不同的 UNIX 可能是在不同的处理器上运行的, 所以为了移植性的考虑所有的东西都应该用 C 来实现。

实际上, C 语言的移植性是非常神秘的。即使 C 程序在不同的 UNIX® 之间移植的时候需要进行修改, 但这些修改绝对和在什么处理器上运行无关。 特别明显地是, 这样的程序充满了在编译时对于系统依赖的条件描述。

即使我们希望所有的 UNIX 软件都应该用 C 语言或者是其他的高级语言编写, 但是我们仍然需要掌握汇编语言的程序员: 不然谁将完成 C 语言函数库中直接访问内核的部分?

在本章节,我将尝试着说明如何用汇编语言编写 UNIX 程序,特别是在 FreeBSD 上的程序。

这个章节不会讲解汇编语言的基础知识。现在已经有很多相关的资料了 (如果你想寻找完整的关于汇编语言的在线课程, 请看 Randall Hyde 的 《汇编语言艺术》; 如果你想选择一本书, 那么去看看 Jeff Duntemann 的 《循序渐进学汇编》) 不过, 一旦你掌握了这个章节的内容, 任何汇编语言的程序员, 将能够在 FreeBSD 上高效、快速地编写程序。

最后更新:

类似资料

  • 概述 国际化和本地化的目的就是让一个网站应用能做到根据用户语种和指定格式的不同而提供不同的内容。 Django 对文本翻译, 日期、时间和数字的格式化,以及时区提供了完善的支持。 实际上,Django做了两件事: 由开发者和模板作者指定应用的哪些部分应该翻译,或是根据本地语种和文化进行相应的格式化。 根据用户的偏好设置,使用钩子将web应用本地化。 很显然,翻译取决于用户所选语言,而格式化通常取决

  • 虽然Django 满满的便捷性让Web 开发人员活得轻松一些,但是如果不能轻松地部署你的网站,这些工具还是没有什么用处。Django 起初,易于部署就是一个主要的目标。有许多优秀的方法可以轻松地来部署Django: 如何使用WSGI 部署 部署的检查清单 FastCGI 的支持已经废弃并将在Django 1.9 中删除。 如何使用FastCGI、SCGI 和AJP 部署Django 如果你是部署D

  • 本书概述 进程的概念大家都很熟悉,但你是否能准确说出僵尸进程的含义呢?还有 COW(Copy On Write)、Flock(File Lock)、Epoll 和 Namespace 的概念又是否了解过呢? 本书汇集了进程方方面面的基础知识,加上编程实例,保证阅读后能自如地回答以上问题,在项目开发中对进程的优化也有更深的理解。 本书架构 本书按循序渐进的方式介绍进程的基础概念和拓展知识,主要涵盖以

  • Docker在1.12.0和以上版本中增加了swarm模式。通过swarm模式管理的Docker Engines集群称之为“Swarm”。并可以通过Docker CLI来创建Swarm,在Swarm中部署应用服务,以及管理Swarm。 功能特点 在Docker Engines中集成了集群管理功能:通过Docker CLI可以创建一个用来发布应用services的swarm,而不需要安装其他任何额外

  • 这是 Elasticsearch 官方的 PHP 客户端。我们把 Elasticsearch-PHP 设计成低级客户端(低级设计模式),使用时不会偏离 REST API 的用法。 客户端所有方法几乎都与 REST API 对应,而且也与其他编程语言的客户端(如 ruby, python 等)方法结构相似。我们希望这种对应方式可以方便开发者更加容易上手客户端,且以最小的代价快速从一种编程语言转换到另

  • 特点 为什么用 Groovy?