luk*_*ell 66
.S文件是用汇编语言编写的源代码文件.汇编是一种极低级别的编程形式.这些文件按顺序包含处理器的汇编指令,通常基于所选的体系结构进行编译.这些文件的示例经常出现在Linux内核中,用于特定的体系结构,例如x86,sparc,ARM等.
有关汇编语言的更多信息:
Dr *_*eco 19
那.S就是汇编语言.通常就是这样
没有人提到的是为什么资本S?
.S(大写S)代表必须仍然通过预处理器的汇编代码.这意味着它可以拥有#include和#define其他宏.它也可以看作是扩展.sx
.s (lower s)是可以编译成对象的纯汇编代码.
为什么不用.c?好吧,作为一个操作系统,用C编写所有内容是不可能的.实际上,这将是理想的,并且C语言本身具有链接的背景历史,以帮助创建操作系统并减少编码所需的汇编量.但是许多低级操作过于依赖机器.
一个在这里一个很好的例子Linux引导内存拷贝日常使用
#include <linux/linkage.h>
use*_*958 13
*.S文件是汇编文件.
为什么.S和为什么不.c文件?
因为机器相关的东西/早期初始化如设置缓存和内存只能进行汇编级指令,如I/O指令.
内核没有奢侈的libc库来处理各种资源的初始设置.甚至在应用程序执行期间的任何时候硬件资源依次调用系统调用,这些调用调用以汇编语言编码的I/O例程.
小智 5
它们是汇编代码文件:
汇编语言是用于计算机,微处理器,微控制器和其他可编程设备的低级编程语言,其中每个语句对应于单个机器语言指令.汇编语言特定于某种计算机体系结构,与大多数高级编程语言相比,后者可能更具可移植性.
所以这些文件与C代码文件不同.
请注意,C文件可以使用汇编指令内联.
| 归档时间: |
|
| 查看次数: |
61705 次 |
| 最近记录: |