红联Linux门户
Linux帮助

##是什么意思啊

发布时间:2011-01-28 10:43:34来源:红联作者:wucongdonglai
最近看采集卡源码,发现有这么一个表达式:
ADL_OP_##Ofst
Ofst是参数,前面ADL_OP_##是怎么个意思啊?
有点像宏,但是整个源文件目录里就没有找到该宏的定义
然后猜测ADL_OP_是宏,##是运算符,但是也没有那个宏的定义啊!##运算符我也没见过啊?
但是编译却偏偏可以通过的,奇怪了啊
文章评论

共有 7 条评论

  1. naruto01 于 2011-01-28 19:16:48发表:

    没想到搜到的也是这一篇博文
    以前搜到了,赶紧copy了份存自己博客里了。(e:e2s绝对值得收藏啊!

  2. wucongdonglai 于 2011-01-28 15:01:03发表:

    4# wangyu
    在有的语言里是注释,在c里不是,我也不懂,看了white兄推荐的之后才懂的,

  3. wuren110 于 2011-01-28 14:04:15发表:

    不知道 。 也学习下

  4. wangyu 于 2011-01-28 13:59:44发表:

    额,不懂

  5. wangyu 于 2011-01-28 13:59:11发表:

    ##是注释吧

  6. wucongdonglai 于 2011-01-28 13:42:09发表:

    2# deepwhite
    恩,white兄上哪找到这么好的资料的?我怎么百度里搜不到啊!
    按这个宏定义
    #define REG_inpd(Port,Ofst) \
    (*(volatile unsigned long *)(Port+ADL_OP_##Ofst))
    调用REG_inpd(dwPort, GPIO_DATA),
    也就是调用(*(volatile unsigned long *)(dwPort+ADL_OP_GPIO_DATA))
    然后找到#define ADL_OP_GPIO_DATA 0xA0
    这样就差不多解释的通了

  7. deepwhite 于 2011-01-28 12:04:43发表:

    http://www.cublog.cn/u3/91168/showart_2203031.html