我正在为一个基于
有没有办法改变这种行为?例如,我是否可以强制定义
aarch64
(ARM 64位)平台的项目静态构建 musl-libc
。我想避免使用任何软浮点库,例如 GCC 的软浮点库例程。然而,即使我使用 -mfloat-abi=hard
,这些库档案仍会出现。根据我所知,这是因为 ARM 64 位平台将 long double
定义为 128 位。有没有办法改变这种行为?例如,我是否可以强制定义
long double
与 double
的大小相同?我知道这在 C 标准中是允许的,但我不确定是否有办法强制 Clang(我特别在使用 Clang 进行此操作)以这种定义进行编译。
long double
被定义为128位(基于__extenddftf2
的描述和我知道我的aarch64
平台有64位FP寄存器的事实)。所以虽然是的,vfprintf
依赖于long double
处理,但我想知道的是,long double
处理是否反过来依赖于软浮点库例程。这有意义吗? - tonysdgvfprintf
依赖于long double
处理,那么long double
的大小是否会改变该处理的内容?如果是这样,我是否可以利用这个事实来强制long double
的大小适应硬浮点寄存器,而不必诉诸使用软浮点? - tonysdg