当前位置:  技术问答>linux和unix

内核源代码,请问这个是什么意思?

    来源: 互联网  发布时间:2017-04-21

    本文导语:  lib80211.c: /*Begin*/ static LIST_HEAD(lib80211_crypto_algs); static DEFINE_SPINLOCK(lib80211_crypto_lock); /*End*/ 不是定义,不是声明,不是define。惭愧,请问对内核熟悉的大侠,这个什么意思?多谢! | LIST_HEAD ...

lib80211.c:
/*Begin*/
static LIST_HEAD(lib80211_crypto_algs);
static DEFINE_SPINLOCK(lib80211_crypto_lock);
/*End*/

不是定义,不是声明,不是define。惭愧,请问对内核熟悉的大侠,这个什么意思?多谢!

|
LIST_HEAD 和 DEFINE_SPINLOCK是两个宏定义。。

|

+1
定义了两个变量 list头与spinlock

|
利用宏定义,来定义变量。

19 #define LIST_HEAD_INIT(name) { &(name), &(name) }
 20 
 21 #define LIST_HEAD(name) 
 22         struct list_head name = LIST_HEAD_INIT(name)



 53 #define __RAW_SPIN_LOCK_INITIALIZER(lockname)   
 54         {                                       
 55         .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED,  
 56         SPIN_DEBUG_INIT(lockname)               
 57         SPIN_DEP_MAP_INIT(lockname) }
 58 
 59 #define __RAW_SPIN_LOCK_UNLOCKED(lockname)      
 60         (raw_spinlock_t) __RAW_SPIN_LOCK_INITIALIZER(lockname)
 61 
 62 #define DEFINE_RAW_SPINLOCK(x)  raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x)


推荐个查看源码的网站,以后遇到不知道啥玩意的代码,搜索源码,看它到底是什么东东就明白喽
开源中国的
http://lxr.oss.org.cn/source/

|
这就是两个函数的声明啊。

|
更正一下本人5楼的回复,那个网站不是开源中国的,经查资料得知是:
Linux超文本交叉代码检索工具LXR(Linux Cross Reference),是由挪威奥斯陆大学数学系Arne Georg Gleditsch和Per Kristian Gjermshus编写的

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,