我正在使用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。
是否有任何标志可以重新启用newlib-nano版本的printf的"long long"支持?
uint32_t
并打印它们来完成。 - unwind