我想查看 cpp 文件的相应 C 代码。 g++ 编译器中是否有任何选项可以获取编译 C++ 类的中间 C 代码??
最佳答案
"I want to see corresponding C code for a cpp file."
.cpp
文件没有相应的 C 代码(至少在您的问题中标记为 g++ 时没有)。 C 和 C++ 是完全不同的语言,很难(也没有必要)将所有现代 C++ 功能转换为 C 代码。
C++ 编译器 IIRC 的早期实现生成了中间 C 代码。
如今,c++ 编译器要么直接为指定机器生成汇编代码,要么使用后端提供中间代码。我找不到查看中间生成的 C 代码的选项(可能是因为编译器不以这种方式工作)。
我知道的唯一选项是生成中间汇编代码的-S
和在应用 CPP 预处理器后生成文件的-E
。
LLVM project seems to provide a backend ,它将任何从前端解析的 AST(例如 clang fo c++)翻译成 c 语言。
好吧,我自己并没有尝试任何这些链接的搜索结果。
关于c++ - 获取中间 C 代码的命令行选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30403000/