c++ - 获取中间 C 代码的命令行选项

标签 c++ compilation g++

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

最佳答案

"I want to see corresponding C code for a cpp file."

.cpp 文件没有相应的 C 代码(至少在您的问题中标记为 时没有)。 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/

相关文章:

c++ - 在 C++ 中使用接口(interface)进行依赖注入(inject)

c++ - 如何声明其类没有默认构造函数的对象数组?

FFmpeg ogg - 处理输入时发现无效数据

java - Eclipse 的 blackberry java 插件的编译问题

c++ - 隐藏私有(private)重载虚函数?

c++ - macOS 塞拉利昂 : __textcoal__nt is deprecated

c++ - Win32 控制台应用程序无法在 VS2012 Pro 中运行

c# - 如何在 C# 中调用另一个结构中的结构数组

compilation - 无法为代码::Blocks编译wxWidgets

c++ - 无法执行 Cython 包装的 Python 代码