我想查看cpp文件的相应C代码。 g ++编译器中是否有任何选项可以在编译C ++类时获得中间C代码?
答案 0 :(得分:1)
“我希望看到cpp文件的相应C代码。”
对于.cpp
文件,对应的C代码没有这样的东西(至少在你的问题中没有标记为g++)。 C和C ++是完全不同的语言,将所有现代C ++特性转换为C代码很困难(并非必要)。
c ++编译器IIRC的早期实现产生了中间c代码。
现在c ++编译器直接为指定的机器生成汇编代码,或者使用后端提供中间代码。我找不到一个选项来查看中间产生的c代码(可能因为编译器不能这样工作)。
我所知道的唯一选项是-S
来生成中间汇编代码,而-E
会在应用CPP预处理器后产生文件。
LLVM project seems to provide a backend,它将从使用前端解析的AST(例如clang fo c ++)转换为c语言。
好吧,我自己没有尝试过任何这些链接的搜索结果。