如何为aCC(Hp-Ux)和g ++(Linux)获得相同的预处理器输出?

时间:2015-08-12 11:12:39

标签: linux g++ acc

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

  • HPUX-IA64。
  • Linux的x86_64的。

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

1 个答案:

答案 0 :(得分:0)

  

不是完全为Linux重写工具,而是如何在源名称上获得与{hpux SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); int defaultValue = getResources().getInteger(R.string.saved_high_score_default); long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue); 相同的g++ -E(linux)输出。

简答:不。

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

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

更长的答案:$compiler -c foo.cc是开源的。如果您认为修复g++以匹配g++的输出比修复脚本以接受任何输入更容易,那么您拥有权力这样做(但我预测,前者比后者更难做1000倍。)

最后,您没有提供任何有关您要消除的差异的详细信息。如果你这样做了,这个(或其他一些)答案可能会更有用。