正如您可能注意到的,通常情况下,在 Linux 编程中您不需要使用汇编语言。与 DOS 不同,您不必用汇编语言编写 Linux 驱动程序(当然,如果您真的想这样做也可以)。而且使用现代优化编译器,如果您关心针对不同 CPU 的速度优化,用 C 语言编写要简单得多。但是,如果您正在阅读本文,您可能有一些理由使用汇编而不是 C/C++。
您可能需要使用汇编,或者您可能想要使用汇编。简而言之,深入汇编领域的主要实际(需要)原因是小代码和libc 独立性。不切实际(想要),最常见的原因仅仅是成为一个老派的疯狂黑客,他有二十年用汇编语言完成一切事情的习惯。
然而,如果您正在将 Linux 移植到某些嵌入式硬件,您可能会发现整个系统的尺寸非常有限:您需要将内核、libc 以及 (file|find|text|sh|etc.) 工具的所有东西都放入几百 KB 中,而且每 KB 都非常宝贵。因此,一种可能的方法是用汇编语言重写系统的一些(或全部)部分,这将真正为您节省大量空间。例如,一个用汇编语言编写的简单 httpd 可能小于 600 字节;您可以将由内核、httpd 和 ftpd 组成的服务器放入 400 KB 或更小的空间中…… 考虑一下。