用于获取中间c代码的命令行选项

时间:2015-05-22 17:53:01

标签: c++ compilation g++

我想查看cpp文件的相应C代码。 g ++编译器中是否有任何选项可以在编译C ++类时获得中间C代码?

1 个答案:

答案 0 :(得分:1)

  

“我希望看到cpp文件的相应C代码。”

对于.cpp文件,对应的C代码没有这样的东西(至少在你的问题中没有标记为)。 C和C ++是完全不同的语言,将所有现代C ++特性转换为C代码很困难(并非必要)。

c ++编译器IIRC的早期实现产生了中​​间c代码。

现在c ++编译器直接为指定的机器生成汇编代码,或者使用后端提供中间代码。我找不到一个选项来查看中间产生的c代码(可能因​​为编译器不能这样工作)。

我所知道的唯一选项是-S来生成中间汇编代码,而-E会在应用CPP预处理器后产生文件。

LLVM project seems to provide a backend,它将从使用前端​​解析的AST(例如clang fo c ++)转换为c语言。

好吧,我自己没有尝试过任何这些链接的搜索结果。