我专门编写了脚本,用于对 HpUx 预处理器输出执行某些操作并获取所需的详细信息。
- HpUx-ia64。
- Linux-x86_64。
现在我需要将其迁移到 Linux。我如何才能获得与源名称上的 hpux aCC -E
相同的 g++ -E
(linux) 输出,而不是完全为 Linux 重写工具。
最佳答案
Instead of rewriting tool entirely for Linux, how can I get the
g++ -E
(linux) output same as that of hpuxaCC -E
on a sourcename.
简短回答:不。
更长的答案:编译器通常不关心 $compiler -E
的输出是什么样子,只要它相当准确地表示程序即可。当 $compiler -c foo.cc
工作正常时,某些编译器甚至无法编译 $compiler -E foo.cc
的输出(这是一个错误,但优先级较低)。
任何适用于预处理文件(即您的脚本)的工具或脚本都应该接受有效的预处理结果。坚持所有编译器都产生完全相同的预处理输出是没有意义的;这不会发生。
更长的答案:g++
是开源的。如果您认为修复 g++
以匹配 aCC
的输出比修复脚本以接受任一输入更容易,那么您有能力这样做(但我预测前者比后者至少困难 1000 倍)。
最后,您没有提供任何有关您试图消除哪些差异的详细信息。如果您这样做了,这个(或其他一些)答案可能会更有用。
关于linux - 如何为 aCC (Hp-Ux) 和 g++ (Linux) 获得相同的预处理器输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31963554/