<分区>
是否有工具可以将 C++ 中的源代码转换为 C/C++ 中的源代码,但使用实例化(展开)模板? 这对于明确理解转换为 C++ 模板的代码是必要的。 它可能存在于 IDE(MSVS、QtCreator 等)或编译器(ICC、GCC、MSVC、Clang)中?
标签 c++
<分区>
是否有工具可以将 C++ 中的源代码转换为 C/C++ 中的源代码,但使用实例化(展开)模板? 这对于明确理解转换为 C++ 模板的代码是必要的。 它可能存在于 IDE(MSVS、QtCreator 等)或编译器(ICC、GCC、MSVC、Clang)中?
最佳答案
这似乎已经在 SO 上得到了回答
Alexey Frunze 使用反汇编代码的想法/原则非常好,再加上简化模板的使用,很有可能准确理解它的作用。
编辑 1 关于如何理解编译器所做的事情,还有一些其他的可能性
gcc -S -O1 {yourcode.cpp}
获取程序集并使用工具 c++filt
(它是 binutils 的一部分)如果您对 C 代码感觉更舒服,请将反汇编转换为 C 代码g++ -fdump-tree-original file.cpp
获取一些(伪)C++ 代码-emit-llvm
获取 LLVM IR,并使用 llvm-dis
对其进行转换发短信关于c++ - 是否有工具可以将 C++ 中的源代码转换为 C/C++ 中的源代码,但使用实例化(展开)模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15729585/