__builtin_constant_p(x)
来源:互联网 发布:linux终端退出服务器 编辑:程序博客网 时间:2024/05/22 08:19
gcc的内建函数,当x为常数时返回1, x为变量时返回0. 不过这并不完全准确。
linux kernel的代码中经常有这样的代码:
if (__builtin_constant_p(x)) {
do1;
} else {
do2;
}
可以认为这个函数的求值在编译时就完成了。从而外面的条件跳转语句的两个分支,只有其中一个会出现在目标代码中。
准确的定义应该是:如果x的值在编译时能确定,那么该函数返回值为1.
例如,int len = sizeof(struct ...);紧接着的__builtin_constant_p(len)返回值就是1,尽管len是变量。
- __builtin_constant_p(x)
- #define __builtin_constant_p(x)
- __builtin_constant_p
- __builtin_constant_p
- __builtin_constant_p
- __builtin_constant_p
- __builtin_constant_p()
- __builtin_constant_p
- __builtin_constant_p ()
- 内核中__builtin_constant_p 函数
- GCC内建函数__builtin_constant_p
- Gcc的内建函数 __builtin_constant_p
- int __builtin_constant_p (exp)函数的使用
- uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(61):__builtin_constant_p
- $X
- X
- X
- X
- 给选择的人员去重判断
- Linux grep命令
- ogre 简单实现画中画
- ASP.NET网站设计中推荐几个比较实用的网站和工具
- CGAL几何库 半边网格数据结构 模板类 设计核心思想
- __builtin_constant_p(x)
- unbutu安装mysql
- 编写一个递归算法,实现将一棵二叉树的左右孩子互换。
- c#Process.Start无法启动exe程序的问题
- 使用__builtin_return_address获得程序运行栈情况
- LTE ZUC EEA3 EIA3 source code error 官方源代码 的错误之处
- 读取ini
- 动手安装centOS6
- Android 快速开发框架 ThinkAndroid