linux内核中#if IS_ENABLED(CONFIG_XXX)与#ifdef CONFIG_XXX的区别
1. #if IS_ENABLED(CONFIG_XXX)
1.1 IS_ENABLED的定义如下:
/*
* IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',
* 0 otherwise.
*/
#define IS_ENABLED(option) __or(IS_BUILTIN(option), IS_MODULE(option))
1.2 从以上注释来看,就是如果CONFIG_XXX被设置为'y'或'm'的时候,IS_ENABLED(CONFIG_XXX)就等于1
2. #ifdef CONFIG_XXX
表示只要定义了CONFIG_XXX就行,不论它定义成了什么东西,也就是无论定义的真假
3. 总结
#ifdef只关心宏是否被定义,而#if关心被定义的宏是否是真。
转载于:https://www.cnblogs.com/dakewei/p/11326453.html
linux内核中#if IS_ENABLED(CONFIG_XXX)与#ifdef CONFIG_XXX的区别相关推荐
- Linux中文件描述符1,linux内核中的文件描述符(一)--基础知识简介
原标题:linux内核中的文件描述符(一)--基础知识简介 Kernel version:2.6.14 CPU architecture:ARM920T Author:ce123(http://blo ...
- Linux 内核中的 GCC 特性(zz)
from:http://www.ibm.com/developerworks/cn/linux/l-gcc-hacks/ GCC 和 Linux 是出色的组合.尽管它们是独立的软件,但是 Linux ...
- Linux内核中的内存屏障(转)
转自:http://www.linuxidc.com/Linux/2011-10/44623.htm 前言 之前读了关于顺序一致性和缓存一致性讨论的文章,感觉豁然开朗.对linux内核中出现的种种同步 ...
- Linux内核中的常用宏container_of其实很简单【转】
转自:http://blog.csdn.net/npy_lp/article/details/7010752 开发平台:Ubuntu11.04 编 译器:gcc version 4.5.2 (Ubun ...
- linux内核定时器死机,浅析linux内核中timer定时器的生成和sofirq软中断调用流程
浅析linux内核中timer定时器的生成和sofirq软中断调用流程 mod_timer添加的定时器timer在内核的软中断中发生调用,__run_timers会spin_lock_irq(& ...
- linux内核中TCP接收的实现
linux内核中TCP接收的实现入口函数是tcp_v4_rcv 1. 数据包检查处理 一开始做一些数据包详细检查处理,一旦出错,可能导致内核挂掉 int tcp_v4_rcv(struct sk_bu ...
- Linux 内核中的宏定义
Linux 内核中的宏定义 rtoax 日期 内核版本:linux-5.10.13 注释版代码:https://github.com/Rtoax/linux-5.10.13 __attribute__ ...
- Linux内核中的同步原语:自旋锁,信号量,互斥锁,读写信号量,顺序锁
Linux内核中的同步原语 自旋锁,信号量,互斥锁,读写信号量,顺序锁 rtoax 2021年3月 在英文原文基础上,针对中文译文增加5.10.13内核源码相关内容. 1. Linux 内核中的同步原 ...
- Linux 内核中的数据结构:双链表,基数树,位图
Linux 内核中的数据结构 rtoax 2021年3月 1. 双向链表 Linux 内核自己实现了双向链表,可以在 include/linux/list.h 找到定义.我们将会从双向链表数据结构开始 ...
最新文章
- BAT新风向标:程序员有福利了!
- 基于图像的三维模型重建——基础介绍
- CRM脱机下使用说明_海天
- scp和ssh如何连接指定端口的远程主机
- MySQL 增加、更新、删除
- ACM团队周赛题解(2)
- Javascript:一个屌丝的逆袭之路
- Mysql的备份与恢复类型
- 从用户的角度看解决方案
- Introduction to Computer Networking学习笔记(四):路由转发表及转发规则
- 在Ubuntu 将PHP5升级到PHP7.0 PHP7.1
- 【数值分析】python实现复化高斯积分
- 《Netty实战》总结
- oracle数据布尔,Oracle中的布尔字段
- 一个简单的Appium测试(Python语言)
- 错误:is quoted with which must be escaped when used within the value
- NASA丨登陆火星六大前沿技术
- 计算机网络四交换技术,计算机网络数据交换技术发展
- 如何挑选最适合自己的车
- Centos7安装并使用Oracle11g数据库