【问题标题】:How to avoid misformatting of binary values with GNU indent?如何使用 GNU 缩进避免二进制值格式错误?
【发布时间】:2009-11-25 13:02:08
【问题描述】:

当在以下代码上使用 GNU 缩进(至少版本 2.2.6 和 2.2.10)时...

void
main ()
{
  int i = 0b01010101;
}

它将被重新格式化成这个...

void
main ()
{
  int i = 0 b01010101;
}

缩进中是否有任何选项可以避免这种行为?

【问题讨论】:

  • 我在 Mac OS X 10.5 附带的 BSD 缩进上重现了相同的行为。你确定这是你有问题的 GNU 缩进吗?如果是这样,至少您知道在哪里报告错误。我会在 Radar 中归档,但我真的不知道我为什么要打扰......

标签: gnu indentation


【解决方案1】:

我在缩进邮件列表中得到了这个问题的答案:

No Intent 不支持 C 派生词:该构造不是 C。

Binary constants using the `0b' prefix 只是 gcc 的扩展。

【讨论】:

    【解决方案2】:
    #!/bin/sh
    
    indent | sed -r 's/(0) (b[01]+)/\1\2/g'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      • 2011-08-13
      • 2018-12-21
      • 2021-04-07
      • 1970-01-01
      相关资源
      最近更新 更多