c - 在 C、GCC 中将类型名称作为字符串获取

标签 c gcc

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/

相关文章:

c - gcc 原子内置和可用性版本

编译器随机执行if语句

c - 关于整数数据类型和提升

在arm gcc中控制函数的prelog和epilog

集体或个人循环以获得最佳性能?

c - 如何访问 C 变量以进行内联汇编操作?

c - 类型为 void* 的链表

gcc - gcc 源代码中的 gcvt 或 gcvtf 在哪里定义?

c - 多项式乘法 (ax+b)*(cx+d)。任何系数为 float 时的奇怪输出

C - 编译器在已经使用 '->' 时要求使用 '->'