首页 > 解决方案 > 是一种预编译c++模板并获取c++源代码的方法

问题描述

在处理宏时,我们可以使用 (for gcc -dM) 选项让预编译器将宏定义分解到 c++ 源代码中。我正在寻找一种工具,更好的编译器选项来对模板执行相同的操作(即使以有限的方式)。如果我用多层模板和多重继承混合继承代码,那会很有帮助吗?尤其是那台机器必须准确地知道模板解释后代码的状态。只要代码的扁平结构暴露出来,我什至不会抱怨名称混乱。

标签: c++templates

解决方案


你真的不能那样做。

宏非常简单。它们只不过是文本替换。

然而,模板是语义的、假设的、理论的、学术的、不可知的、深奥的、邪恶的、空灵的果汁的一部分,它为你的爱好提供动力。

它们只存在于源代码和程序之间的空间中。

虚无,生死之间。

没有文字表示。只有一种感觉。一组想法。从你给它输入单词到它吐出动作的时候,你的编译器都拥有一种本能。


好吧,当然,理论上有一些人类可读的格式,编译器可以在其中转储模板实例的所有荣耀,但老实说:最简单的方法是吐出你在第一名。

所以,是的,不。


话虽如此,如果你真的很头疼,请学习使用 LLVM 后端 API。


推荐阅读