Next: , Previous: Interface, Up: Top


4 GCC低级运行时库

GCC在一些平台上提供了一个低级运行时库,libgcc.a 或者libgcc_s.so.1。每当需要执行某些过于复杂而无法通过生成内嵌代码来实现的操作时,GCC便会自动生成对该库中的例程的调用。

大多数libgcc中的例程用来处理目标处理器不能直接执行的算术运算。这包括一些机器上的整数乘除,以及其它一些机器上的所有浮点和定点运算。libgcc 还包括异常处理,以及少数其它操作。

这些例程中有一些能够用机器独立的C来定义。其它的必须为需要它们的处理器使用汇编语言手写。

在一些情况下,GCC还会生成对C库例程的调用,像memcpymemset。GCC可能使用的例程集在Other Builtins中有介绍。

这些例程接受参数并且返回特定机器模式的值,而不是特定的C类型。关于这方面的概念解释,参见Machine Modes。为了便于说明,在这章中浮点类型float被假设为对应于SFmodedouble对应于DFmode;以及long double对应于TFmodeXFmode。类似的,整数类型intunsigned int对应于SImodelongunsigned long对应于DImode;以及long longunsigned long long对应于TImode