当前位置: 技术问答>linux和unix
求助:LINUX内核代码中# 与define之间有空格是怎么回事?
来源: 互联网 发布时间:2017-01-15
本文导语: # define mutex_lock_nested(lock, subclass) mutex_lock(lock) # define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock) # define mutex_lock_killable_nested(lock, subclass) mutex_lock_killable(lock) 如在Mutex.h中,有如上几个定义,但...
# define mutex_lock_nested(lock, subclass) mutex_lock(lock)
# define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock)
# define mutex_lock_killable_nested(lock, subclass) mutex_lock_killable(lock)
如在Mutex.h中,有如上几个定义,但是#和define之间有空格,正常应该没有才对呀,请各位高手指点一下 谢谢啦!
# define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock)
# define mutex_lock_killable_nested(lock, subclass) mutex_lock_killable(lock)
如在Mutex.h中,有如上几个定义,但是#和define之间有空格,正常应该没有才对呀,请各位高手指点一下 谢谢啦!
|
楼主要是不放心的话用gcc写个程序,看看#和define之间有空格是否能编译通过吧
|
可以那么写,就和a=b; a = b;一样
|
#define PI 3.14159和
# define PI 3.14159是一样的
# define PI 3.14159是一样的
|
我觉得有时是为了直观、整齐。
当有多个这些宏的时候,并且有多层嵌套,适当的缩进会让人更容易理解它们的层次。
以前搞u-boot时经常看到这种形式,但担心出错,特意用编译器测试才放心。
当有多个这些宏的时候,并且有多层嵌套,适当的缩进会让人更容易理解它们的层次。
以前搞u-boot时经常看到这种形式,但担心出错,特意用编译器测试才放心。
|
代码风格问题,就有人喜欢这么写,呵呵