#define AOMDV_PACKET_SALVAGING
#define AOMDV_MAX_SALVAGE_COUNT  10
#define AOMDV_EXPANDING_RING_SEARCH
一般情况下,宏定义时的用法为:#define a b ,后接两个参数,表示用a代替b。
但很多时候,#define 后只有一个参数,经常出现在头文件的开始处。
解释:

定义宏,并在预处理过程中将其替换为空字符串(即删除)。
这样做主要是为了标记某些内容,使程序阅读者能够清楚标记表明的意义,同时又不影响被编译的源代码。

也就是说,用法同define后接两个参数,只是后一个参数为空字符串。用途包括:
(1)定义一个符号用来给#if(n)def判断。
(2)多文件编译中防止头文件被重复包含。

<stdio.h> 里有:
#ifndef   __STDIO_H #define   __STDIO_H
比方说你#include进来一个stdio.h,再#include进来一个string.h。也许在string.h头文件里又include了stdio.h。这样你的程序中就include了两个stdio.h。定义了两个printf函数等等。这就麻烦了,编译会出错不说,就算编译过了也是浪费资源。
加了一个#ifndef   _STDIO_H的话。在#include进来的string.h中如果再试图include一遍stdio.h的话,由于事先在第一个stdio.h中已经定义了_STDIO_H这个宏。所以不满足#ifndef   _STDIO_H这个条件,就不会编译第二次了。

#define 后只有一个参数相关推荐

  1. 预编译时#define 后面只跟一个参数

    #define a #define后面只跟一个"参数" 定义宏,并在预处理过程中将其替换为空字符串(即删除). 这样做主要是为了标记某些内容,使程序阅读者能够清楚标记表明的意义,同 ...

  2. c语言 define宏名称if(参数),iOS深思篇 | 宏定义

    一. 简介 宏是一种批量处理的称谓,简单来说就是根据定义好的规则替换一定的文本.替换过程在程序编译期,也因此大量使用宏会造成编译时间变长:而且替换过程不进行类型安全检查;还需要注意"边缘效应 ...

  3. js java cookie_JS 打开一个模式窗口,使用Cookie传递一个参数

    页面A,加载后打开一个模式窗口,设置一个参数,然后自己关闭 function fullScreen(){ loadpopup(); var width = screen.width-10; var h ...

  4. waitpid最后以一个参数设为0_西门子MM440变频器参数设置

    1.图片1.P0003为用户访问等级参数,当你无法找到你要看的参数时,不妨将其设为3试试: 2.P0004为参数过滤参数,将其设为0即可访问全部参数: 3.电机参数只有在P0010设为1时,才能更改: ...

  5. glDrawElements参数在新旧版本传最后一个参数的不同

    glDrawElements函数如下: void glDrawElements( GLenum mode,GLsizei count,GLenum type,const GLvoid * indice ...

  6. 仅需一个参数就可搞定OneProxy的VIP机制

    文章转自:http://card.weibo.com/article/h5/s#cid=1001603863326047255626&vid=&extparam=&from=& ...

  7. jpa : criteria 作排除过滤、条件中除去查出的部分数据、JPA 一个参数可查询多个字段

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. PS : mybatis 中也有对于 criteria 的使用,见另一文章:mybatis :Cri ...

  8. php 参数 只用一次,php中,用函数,如果有很多个参数,只使用最后一个参数,有什么优雅的写法?...

    比如有一个function() function find($conditions = null, $sort = null,..(很多参数).., $fields = null, $limit = ...

  9. 当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的.

    当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递 答:是值传递.Java 编程语言只有值传递参数.当一个对象实例作为一个参数被传 ...

最新文章

  1. RAC数据库恢复到单实例数据库
  2. 安徽计算机中专学校有哪些,安徽2021年中专学校里面都有什么专业
  3. Python 【企鹅号、QQ看点】短视频的自动上传与发布实例演示,同时支持抖音、快手、哔哩哔哩、小红书、微视、西瓜视频、视频号等平台的视频自动化同步发布
  4. UVA-10047 The Monocycle (图的BFS遍历)
  5. mysql 分表全局id_MySQL分庫分表環境下全局ID生成方案
  6. matlab图像显示时间,请问怎么把样点数变成时间显示在图像了里
  7. 轨迹规划实现 tfaar_example2.7
  8. 使用ajax怎么解决乱码问题,一句话解决AJAX中文乱码问题[推荐]
  9. 为什么我们要使用min-height和max-height样式属性?
  10. 前端小白该如何学习?前端开发工程师掌握哪些能力
  11. 印地语自由对话语音识别数据库-200人
  12. 3分钟tips:Python中的range与xrange
  13. matlab中gui选择一个文件,matlabgui中定义函数
  14. codesmith for java_codesmith 入门介绍【转载】
  15. qt 之 qml 类型 Binding
  16. 第三章 分布式扩展(一)
  17. 论坛介绍 | COSCon'22 开源治理(G)
  18. 最新kali之cadaver
  19. 功劳是老板的、钱财是子女的、身体是自己的...
  20. 第一次去中关村图书大厦

热门文章

  1. pytorch中的MSELoss函数
  2. php正方系统抓取课表,以正方教务系统为例,用php模拟登陆抓取课表、空教室,抓取课表...
  3. android实现微信网页浏览、QQ下拉效果SlidingLayout
  4. 百万级电商秒杀架构设计
  5. linux查看IO情况
  6. 坚守在技术无人区,一群无名英雄的低调与浪漫
  7. 智能尘埃及Dust Networks介绍
  8. java 内存模型数据结构-02
  9. 全球及中国少儿图书出版行业经营策略与投资竞争力研究报告2022-2028年
  10. matlab 鼠标画图,在matlab中使用鼠标在GUI上绘图