加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

括号在#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))

是语法错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读