括号在#if定义的预处理程序运算符中的含义是什么?
发布时间:2020-12-16 10:08:54 所属栏目:百科 来源:网络整理
导读:(我正在开发一个SDK,其中我有特定SDK的代码参考,我无法追踪程序的流程.) 是什么 #if defined (AR7x00) 意思?具体来说,这样的预处理器运算符中括号的目的是什么? 解决方法 这三个预处理器指令: #if defined (AR7x00)#if defined AR7x00#ifdef AR7x00 所有
(我正在开发一个SDK,其中我有特定SDK的代码参考,我无法追踪程序的流程.)
是什么 #if defined (AR7x00) 意思?具体来说,这样的预处理器运算符中括号的目的是什么? 解决方法
这三个预处理器指令:
#if defined (AR7x00) #if defined AR7x00 #ifdef AR7x00 所有意思完全相同:只有当前定义宏AR7x00时才会处理以下代码. #ifdef …指令只是#if定义的一个方便的替代….还有一个#ifndef …指令; #ifndef FOO相当于#if!定义FOO. 至于括号,定义的运算符的语法允许在括号中使用标识符或标识符,而在含义上没有区别.我不完全确定为什么括号是可选的;我怀疑这只是历史性的. (1978年第一版K&R中的语言参考文献未提及已定义的运算符.第二版显示两种形式,括号和不带括号.) 严格地说,这些不是在普通表达式中看到的那种括号括号;它们是定义运算符语法的一部分,只能在预处理程序#if指令中使用.特别是,这个: #if defined ((AR7x00)) 是语法错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |