我正在使用 GCC 交叉编译器 (arm-none-eabi-) 为 ARM 架构(裸机)开发程序。为了保持代码较小,我使用“--specs=nano.specs”链接器标志来链接 newlib-nano。我遇到的问题是在 printf 中支持“long long”,即:
long long int val = 1234;
pritnf("%lld", val);
添加“-u _printf_float”链接器标志并不能解决这个问题。它确实导致代码大小增加了 9kB,但它似乎只是添加了浮点支持,没有“long long”支持。链接 newlib(删除“--specs=nano.specs”标志)——尽管确实解决了问题——是不可接受的,因为它会导致代码大小增加 46kB。
是否有任何标志仅重新启用对 printf 的 newlib-nano 版本的“long long”支持?