当前位置: 首页 > news >正文

#define

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

#define A(x) T_##x     ##连接
#define B(x) #@x    #@单引号

#define C(x) #x     #双引号
我们假设:x=1,则有:
A(1)------〉T_1    
B(1)------〉'1'
C(1)------〉"1"


#define FOREACH_DAT_ID(GENERATE_DAT_ID) \
	GENERATE_DAT_ID(DAT_ID_START) \
	GENERATE_DAT_ID(DAT_ID_AUTO_DIFF) \
	GENERATE_DAT_ID(DAT_ID_CMR) \
	GENERATE_DAT_ID(DAT_ID_CMR2) \
	GENERATE_DAT_ID(DAT_ID_SCMR) \
	GENERATE_DAT_ID(DAT_ID_RTCM) \
	GENERATE_DAT_ID(DAT_ID_RTCMV3) \
	GENERATE_DAT_ID(DAT_ID_RTCMV32) \
	GENERATE_DAT_ID(DAT_ID_RTD) \
	GENERATE_DAT_ID(DAT_ID_RTCA) \
	GENERATE_DAT_ID(DAT_ID_NOVATELX)

#define GENERATE_ENUM(a)  a,

typedef enum
{
	FOREACH_DAT_ID(GENERATE_ENUM)
} DAT_ID;
typedef struct
{
	DAT_ID dat_id;
} CGI_TO_MNG_CMD_DATA__GET_GNSS_DATA;

int main()
{
	CGI_TO_MNG_CMD_DATA__GET_GNSS_DATA pstCgiGetGnssData;
	pstCgiGetGnssData.dat_id = DAT_ID_CMR;
	printf("id:%d\n", pstCgiGetGnssData.dat_id);
	system("pause");
}

其中#define GENERATE_ENUM(a)  a,   每当调用GENERATE_ENUM(a)表示a,     后面有个逗号。

这样在枚举类型中可以秀一下。 
 

转载于:https://my.oschina.net/u/2252538/blog/1574597

相关文章:

  • 无法加入域
  • 编译安装NTP时间服务报错
  • Visual Studio交叉编译器提供对ARM的支持
  • 设计模式-观察者模式
  • 检测您的CPU是否支持RemoteFX(SLAT二级地址转换)
  • 关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值 一点点经验...
  • windows中禁止U盘写入
  • 使用LVS+NAT搭建集群实现负载均衡
  • AWS CLI使用s3
  • Java源码分析系列之ArrayList读后感
  • shell特殊符号,cut、sort、wc、uniq、tee、tr、split命令
  • jmeter源码编译
  • 详解CSS display:inline-block的应用
  • Keras查看model weights .h5 文件的内容
  • 在WinForm中增加查询对话框对DataGridView数据进行循环查找
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【347天】每日项目总结系列085(2018.01.18)
  • CODING 缺陷管理功能正式开始公测
  • eclipse(luna)创建web工程
  • ES6之路之模块详解
  • go append函数以及写入
  • Javascript编码规范
  • JavaScript服务器推送技术之 WebSocket
  • JS函数式编程 数组部分风格 ES6版
  • Linux gpio口使用方法
  • Lsb图片隐写
  • Python语法速览与机器学习开发环境搭建
  • Ruby 2.x 源代码分析:扩展 概述
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • Travix是如何部署应用程序到Kubernetes上的
  • 类orAPI - 收藏集 - 掘金
  • 每天一个设计模式之命令模式
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 入手阿里云新服务器的部署NODE
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​批处理文件中的errorlevel用法
  • ​人工智能书单(数学基础篇)
  • #define 用法
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (1)STL算法之遍历容器
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (JS基础)String 类型
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装