c - 检测宏参数是结构/直接类型还是 C 中的指针 - GCC 的内置函数是什么?
问题描述
为了在编译时区分非指针和指针,可以将宏用作:
#define IS_STRUCT_SUBSTANTIAL(x) (sizeof(x) != sizeof(void *))
但是,对于 8 字节结构,它将失败。我曾经发现一个 GCC 内置函数根据变量类型返回不同的整数——它为指针返回一个不同的值,允许完全检测它们。但是我再也找不到它了——它不在网站上。有人可以提供内置的名称吗?
解决方案
推荐阅读
- python - 根据文件中的编号替换文件中的行
- javascript - 模型查询后填充猫鼬文档的问题
- arrays - 如何将 free() 函数用于指针数组?
- javascript - Selenium 不会在带有 Python 的网页中显示 javascript 加载的表
- xml - 过滤掉某些 XML 节点,并用这些节点及其祖先和子节点形成另一个 XML
- wpf - WPF ComboBox SelectionChanged 事件触发两次
- azure - Azure 静态网站计数唯一客户端
- django-rest-framework - Django Rest Framework - 嵌套序列化程序 - 从列表中访问一个属性
- node.js - nodejs 的 pg-native 是否适用于 Heroku postgres?
- mysql - 返回每个组的最大值,但是当存在平局时,在 MySQL 中返回一个具有较低 id 的值