【问题标题】:How to get same Pre-processor output for aCC (Hp-Ux) and g++ (Linux)?如何为 aCC (Hp-Ux) 和 g++ (Linux) 获得相同的预处理器输出?
【发布时间】:2015-08-12 11:12:38
【问题描述】:

我专门编写了脚本来对 HpUx 预处理器输出执行某些操作并获取所需的详细信息。

  • HpUx-ia64。
  • Linux-x86_64。

现在我需要将其迁移到 Linux。我怎样才能获得与源名称上的 hpux aCC -E 相同的 g++ -E (linux) 输出,而不是完全为 Linux 重写工具。

【问题讨论】:

    标签: linux g++ acc


    【解决方案1】:

    我怎样才能在源名称上获得与 hpux aCC -E 相同的 g++ -E (linux) 输出,而不是完全为 Linux 重写工具。

    简短回答:不。

    更长的答案:编译器通常不关心$compiler -E 的输出是什么样的,只要它相当准确地表示程序即可。当$compiler -c foo.cc 工作正常时,一些编译器甚至无法编译$compiler -E foo.cc 的输出(这是一个错误,但优先级较低)。

    适用于预处理文件(即您的脚本)的任何工具或脚本都应接受有效的预处理结果。坚持所有编译器产生完全相同的预处理输出是没有意义的;它只是不会发生。

    更长的答案:g++ 是开源的。如果您认为修复 g++ 以匹配 aCC 的输出比修复脚本以接受任一输入更容易,那么您有权这样做(但我预测它是前者比后者难至少 1000 倍)。

    最后,您没有详细说明您要消除哪些差异。如果您这样做了,这个(或其他)答案可能会更有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 2010-09-11
      • 2019-09-14
      相关资源
      最近更新 更多