newlib-nano长期支持

时间:2015-10-05 11:55:06

标签: c gcc newlib

我正在使用GCC交叉编译器(arm-none-eabi-)开发ARM架构(裸机)程序。为了保持代码大小,我使用" - specs = nano.specs"链接器标志,链接newlib-nano。 我遇到的问题是长时间长时间" printf支持,即:

long long int val = 1234;
pritnf("%lld", val);

添加" -u _printf_float"链接器标志无法解决此问题。它确实会导致代码大小增加9kB,但它似乎只是添加了浮动支持,没有" long long"支持。链接newlib(删除" - specs = nano.specs"标志) - 尽管确实解决了问题 - 是不可接受的,因为它会导致代码大小增加46kB。

是否有任何标志仅重新启用" long long"支持newlib-nano版本的printf?

1 个答案:

答案 0 :(得分:2)

不太了解newlib-nano(它是一些fork吗?),但是newlib也没有对long long说明符的默认支持,所以可能会有所帮助:

  • 使用--enable-newlib-io-long-long flag
  • 重新配置newlib
  • 重建