当前位置:  技术问答>linux和unix

请高手看一下这个宏是什么意思?小弟谢了!

    来源: 互联网  发布时间:2016-04-20

    本文导语:  //    NAME                VALUE(FCC)      STRING                              OPTION(Bitrate) //----------------------------------------------------------------------------------------------- #define ENUM_CODEC(_)      _(Co...

//    NAME                VALUE(FCC)      STRING                              OPTION(Bitrate)
//-----------------------------------------------------------------------------------------------
#define ENUM_CODEC(_) 
    _(Codec_Unknown ,     = ( 'unkn' ),  _T("Other"),           (CODEC_BITRATE_NA))
    _(Codec_IMX_30,       = ( 'imx3' ),  _T("IMX 30Mbps"),      (30000000))
    _(Codec_IMX_40,       = ( 'imx4' ),  _T("IMX 40Mbps"),      (40000000))
    _(Codec_IMX_50,       = ( 'imx5' ),  _T("IMX 50Mbps"),      (50000000))
    _(Codec_DV_25,        = ( 'dv25' ),  _T("DV 25Mbps"),       (25000000))
    _(Codec_DV_50,        = ( 'dv50' ),  _T("DV 50Mbps"),       (50000000))
    _(Codec_HDCAM,        = ( 'hcam' ),  _T("HDCAM"),           (CODEC_BITRATE_NA))

//问题一:   请问以上的宏是什么意思?
//问题二:   下面是调用这个宏的在G++调试时出错:"warning:multi-character character constant"
//          我试着把( 'unkn' ) 变为:( "unkn" )也不对,请问应该怎样改?
DEFINE_CUSTOMEX_ENUM(Codec, ENUM_CODEC)


//DEFINE_CUSTOMEX_ENUM宏的定义如下:
// FOR (name, value, string, option) LIST FORMAT.
#define DEFINE_CUSTOMEX_ENUM(name, list)
    typedef enum tag_##name{
        list(ENUM_CUSTOMEX_BODY)
    }name;

|

好像是这样的O(∩_∩)O 

u = 117 等于二进制 1110101
n = 110 等于二进制 1101110
k = 107 等于二进制 1101011
n = 110 等于二进制 1101110


结果为 1970170734
等于二进制  
1110101 0 1101110 0 1101011 0 1101110
  u          n        k          n

|
lz 用 gcc -E xxx.c 就可以看到预处理后的结果了

之后的代码错误比较容易找了



_ 就是参数,与一般的写法没啥区别,只是简化为 _ 而已

|



不用 -Werror 选项的话,可以忽略的


|
#define DEFINE_CUSTOMEX_ENUM(name, list)
    typedef enum tag_##name{ 
        list(ENUM_CUSTOMEX_BODY) 
    }name;


调用的时候是 DEFINE_CUSTOMEX_ENUM(Codec, ENUM_CODEC) 

list 

    
 
 

您可能感兴趣的文章:

  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 急!急!急!请高手们救救小弟(关于Ubuntu10.04)
  • 小弟有若干小问题,征求高手门的解答。
  • 跪求高手来帮小弟,第一次接触操作系统
  • 小弟请教各位高手,在JAVA中通过什么函数能获得Button的标签内容?
  • 大连java的高手们!小弟有事相求
  • "急"---小弟有一个很初级的问题,高手请帮帮忙,解决后立即加分
  • 各位高手,帮帮小弟,用什么软件能打开后缀是*.rar的文件。
  • 寻找linux下gcc编程的网上教程,越全越好,望各位高手指点一下小弟!
  • sock编程高手救救小弟!
  • 如何配置IBM http server?求救各位高手帮小弟一把!!
  • 小弟求助高手,多谢
  • 各位linux的高手,小弟有个简单问题.lunix找不到了?
  • 高手请进。小弟急需知道。急!!!!!!!!!!!!!!
  • 有没有xen方面的高手啊~~~教教小弟呗
  • 各位高手,小弟在安装Java 2 SDK Standard Edition v1.3时出错了。是怎么回事?
  • 小弟刚开始学习UNIX 编成 。哪个高手指点一下推荐一本编成书。最好电子版
  • 小弟正在做qmail的移植工作...有些问题想请教一下高手们
  • 各位linux高手请帮帮小弟的忙!
  • 有高手能破解RAR的密码吗,至今没有找到人能解决?(先只给10分意思意思,若解决,至少给解决的人500分!说话算话!)
  • 请高手帮忙解释一下,insmod ./$module.ko || exit 1中的“||”是什么意思啊,多谢!
  • 请教高手:这句话是什么意思?
  • 请教各们高手。你们用的术语B/S,C/S是什么意思?
  • 有高手知道sched_yield是什么意思吗?
  • 这段话是什么意思?---菜鸟的心声---高手务必帮我啊-----
  • 那位高手快帮帮我吧!这是什么意思?
  • Serializable?使用和意思?在thinking in java里面看了半天一天也没有明白什么意思!谢谢高手大虾了
  • Linux 2.4.18 中编写的一段代码,请高手帮忙解释一下意思。。。。。。。。。。
  • 100分请教高手?(\)$*是什么意思?
  • 请高手给我讲讲html文件中这两句是什么意思?(内详),有劳各位了!!1
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高手,高手,高高手请进!
  • 有熟悉EXIM的高手高手么??
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 高分请高手,高手定能解决
  • 请问高手在linux中用什么命令可以做linux的启动盘???在等待高手??
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • 难道高手区里的人就是高手?
  • 在dos下用bc31挑战高手******开发mssql程序,连接时报link err:undefined symbol GETNOTE in module DBEXTERN?(挑战高手)
  • 真正的linux高手,请看过来,看你符合高手标准不?
  • 难道这没有高手吗?难道这没有乐于助人的高手?(高分酬谢62+50+50)
  • 关于我对linux高手用yum,非高手用源码的理由
  • 高手救命,很急——ORACLE817安装在UNIXWARE711上,手工启动数据库后在netasst中连接错误,高手帮我看看?
  • 请教高手lvs的奇怪问题,我挺着急,希望高手别潜水,就就我,先谢谢了
  • 各个高手看看这个问题!本人第一次学习java所以要各位高手的帮助。。
  • 我是新手,高手,高手,快来救我
  • EJB问题,请教高手(非高手莫进)
  • 请各位JAVA高手,网业高手看过来,我把能给的分都送出!!!只能给37分,哎!!
  • eWEEK沙龙征集高手座谈
  • 高手请进,中文乱码问题,这是我同一个问题的第五个帖子了,大伙帮忙,心情好郁闷.期待高手.
  • [纳闷贴]为什么那么多人非说要成为高手就不要用X,难道Linux就是为了成为高手用的?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3