在gcc或clang中调试SFINAE

use*_*710 7 c++ gcc templates clang c++11

我想知道在给定特定调用的情况下我的模板是如何在编译时扩展的,特别是我有兴趣了解更多关于SFINAE技术的所有可能用途和行为.

你知道一个或多个旗帜gcc和/或clang可以帮助我吗?

ein*_*ica 0

“SFINAE所有可能的行为”太模糊、太宽泛。但是 - 如果您想了解编译器如何实例化代码中的模板,这可能适合您:

**Templight* 是一个基于 Clang 的工具,用于分析模板实例化的时间和内存消耗,并执行交互式调试会话以自省模板实例化过程。

Templight似乎对编译过程的前端部分进行了检测,以便稍后您可以使用名为templater的可视化工具。

警告:我自己还没有尝试这样做。