$ echo "_Fract x;" | gcc -xc -
<stdin>:1:1: error: fixed-point types not supported for this target6.16定点类型 (重点后加):
作为扩展,GNU支持N1169 /IEC 18037中定义的定点类型.GCC对固定点类型的支持将随着技术报告草稿的变化而发展.对任何目标的调用约定也可能发生更改。并不是所有目标都支持定点类型.
问:哪些目标支持定点类型?
额外的:有文件记录吗?如何从GCC的源代码中派生出来?
UPD。可能有用: Clang通过选项-ffixed-point支持定点类型。
$ echo "_Fract x;" | clang -xc - -c -ffixed-point
# OK发布于 2022-03-05 06:14:52
我可以确认GCC 11.2.0在AVR上确实支持定点类型.尺码如下:
sizeof(signed short _Fract) == 1
sizeof(unsigned short _Fract) == 1
sizeof(signed _Fract) == 2
sizeof(unsigned _Fract) == 2
sizeof(signed long _Fract) == 4
sizeof(unsigned long _Fract) == 4
sizeof(signed long long _Fract) == 8
sizeof(unsigned long long _Fract) == 8
sizeof(signed short _Accum) == 2
sizeof(unsigned short _Accum) == 2
sizeof(signed _Accum) == 4
sizeof(unsigned _Accum) == 4
sizeof(signed long _Accum) == 8
sizeof(unsigned long _Accum) == 8
sizeof(signed long long _Accum) == 8
sizeof(unsigned long long _Accum) == 8https://stackoverflow.com/questions/71327263
复制相似问题