防止一个头文件被重复包含
#ifndef DEF_H
#define DEF_H
//头文件内容
#endif

得到指定地址上的一个字节或字
#define MEM_B( x ) ( *( (byte *) (x) ) )
#define MEM_W( x ) ( *( (word *) (x) ) )

得到一个变量的地址(word宽度)
#define B_PTR( var ) ( (byte *) (void *) &(var) )
#define W_PTR( var ) ( (word *) (void *) &(var) )

c++中宏定义的妙用相关推荐

  1. VC预处理指令与宏定义的妙用

    VC中预处理指令与宏定义的妙用 刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具.使用它们可以进行简单的源代码控制,版本控制,预 ...

  2. 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节

    C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...

  3. C/C++编程笔记:浅析 C 语言中宏定义的使用,知识点全解

    宏定义是用一个标识符来表示一个字符串,在宏调用中将用该字符串代替宏名.给程序员提供了便利,使程序更加清晰,便于阅读和理解,进一步提高了程序的运行效率,对于嵌入式系统而言,为了能达到性能要求,宏是一种很 ...

  4. libev中ev_loop结构体中宏定义的理解

    libev源代码由于有各种宏定义,十分让人费解,作者这么写确实使得代码很简练,但也给读者的阅读带来了巨大的麻烦,下面将分析下ev_loop这个结构体的定义,加深对作者代码简化的理解,先上代码: str ...

  5. c语言中宏定义的字符替换#define M(x,y,z) x*y+z

    C语言中宏定义的字符替换问题 例子: 在c语言中定义如下宏 #define M(x,y,z) x*y+z 给定如下程序 #include<stdio.h> #include<stdl ...

  6. verilog 定义位宽为1的_Verilog中宏定义位宽带来的问题

    Verilog 中宏定义位宽带来的问题 宏定义在 C 语言程序中的使用司空见惯,他的好处就在于可以大大提高代码的可读性和可 移植性.而在 verilog 中,也支持这个语法,在很多开源代码中也都能看到 ...

  7. c int最小值的宏_C语言宏定义的妙用!用完软硬件效率蹭蹭涨!

    1 概述 在工程规模较小,不是很复杂,与硬件结合紧密,要求移植性的时候,可采用宏定义简化编程,增强程序可读性. 当宏作为常量使用时,C程序员习惯在名字中只使用大写字母.但是并没有如何将用于其他目的的宏 ...

  8. ST17H26 SDK中宏定义注意事项

    宏定义使用很方便,但 "##" 在宏中使用时可能导致宏定义在si工程中无法跟踪,切记! 如下: #pragma once /* Enable C linkage for C++ C ...

  9. C#中宏定义#define、预处理#if #else #endif的使用

    C#中预处理的使用: 预处理指令并不会被编译为执行代码中的指令,但使用预处理指令可以选择编译程序中的哪部分代码.一般在调试代码时或在发布不同功能等级的软件版本中使用. 需要特别注意的是,宏定义必须在C ...

最新文章

  1. Python 使用 Flask框架记录
  2. 因融资失败,应用崩溃,3 名程序员被“祭天”!
  3. 连肝 7 个晚上,总结了 66 条计算机网络的知识点
  4. 如何反序列化XML文档
  5. FamilyFilter(4)
  6. FFmpeg中实现对多媒体信息的获取与打印av_dump_format
  7. 字幕学英语app隐私政策网址(URL)
  8. vsftpd服务的搭建
  9. 【今日CV 视觉论文速览】26 Nov 2018
  10. 爱情七十一课,低调恋爱
  11. oracle数据库监听问题,分享一个有意思的Oracle19c数据库监听异常
  12. 仅需6道题轻松掌握Python异常捕获 | Python技能树征题
  13. Caused by: org.hibernate.HibernateException: unknown Oracle major version [0]
  14. 《趣谈网络协议》课程学习笔记
  15. 盘点2017年科技事件 马云最娱乐雷军最傲娇
  16. 2×3卡方检验prism_SPSS之卡方检验
  17. java vo层_java的几种对象(PO,VO,DAO,BO,POJO)解释
  18. NAT地址转换协议学习
  19. 工业机器人实训实验平台
  20. iOS开发 Tips 保存视频文件到相册

热门文章

  1. 视频格式转换工具使用
  2. NYOJ 1053 Alice and Bob (N)
  3. numpy中newaxis的用法
  4. 【转载】SVD在推荐系统中的应用
  5. centos 安装nginx笔记
  6. Windows 10安装pip方法
  7. Jenkins默认工作空间及更改默认工作空间
  8. C++用法的学习心得
  9. 使用IDEA运行Spark程序
  10. cookie中文乱码