GCC 中是否有一些“内置”扩展来获取 C 中表达式的类型名称? (作为字符串,即“const char*”)。
最佳答案
首先。您想在运行时获取 C 表达式的类型。问题是类型在编译过程中被删除,机器代码几乎是无类型的,除了 8/16/32/64 位整数和 32/64/80 位 float (在 x86 的情况下)之外,它不包含任何其他内容。类型是 C 的编译时实体(尽管 C++ 可能会在运行时保留一些有关类型的信息,但由于其面向对象的性质,它将类型与类相关联,但很难跟踪 POD 和原始类型) .
其次。您需要一种 C 表达式。有时很难说出给定的 C 表达式在运行时是什么。
因此无法在运行时获取 C 表达式类型。
关于c - 在 C、GCC 中将类型名称作为字符串获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6110879/