宏#与##介绍

原创 2007年10月15日 15:35:00
有这样一个宏
#define DEFINE_SUPERNAME(name)/
struct super_##name {/
    static const char *getname() {/
        return #name;/
    }/
}
 
具体含义是
#  是宏处理的字符串转换符
#define STRING(exp) #exp
那么 STRING(okokokok) 就相当于 "okokokok"
 
## 是宏处理的标识符拼接符
#define FULL_IDENT(ident) sys_global_##ident
那么 FULL_IDENT(cache) 就等于 sys_global_cache
 
综上 DEFINE_SUPERNAME(suhugo) 相当于
struct super_suhugo{
    static const char *getname() {
        return "suhugo";
    }
}

Nginx开发介绍

-
  • 1970年01月01日 08:00

Excel宏功能介绍.PPT

  • 2016年06月08日 12:32
  • 735KB
  • 下载

Confluence 摘要(Excerpt)宏

摘要宏在页面中被标记和存储可以重用的内容。当你定义一个摘要宏以后,这个摘要宏可以在其他宏中被引用,例如: 包含摘要(Excerpt Include)宏 和 博客页面(Blog Posts)宏,然后能够...
  • u013587602
  • u013587602
  • 2014-02-14 08:10:44
  • 440

简单介绍以下几个宏: 1

简单介绍以下几个宏: 1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当...
  • lvwuxue
  • lvwuxue
  • 2015-04-04 14:42:06
  • 309

__KERNEL__ 宏作用是什么?

 这个宏在内核及应用程序代码中均能看到。它仅起到判断作用,而不是在实际的代码逻辑中被替换,就如之前讲的避免define重复定义的用法一样。但不同的是这个宏的目的并不是避免重复定义,那么这个宏到底...
  • wjw7869
  • wjw7869
  • 2015-06-08 16:53:27
  • 806

Confluence宏的使用

打开插入宏的窗口,所有支持的宏显示在左侧菜单栏,可以尝试用下
  • nihaomabmt
  • nihaomabmt
  • 2017-12-28 17:24:59
  • 346

Confluence 为宏使用自动完成

输入 '{' 来查看你页面中建议的宏列表。 自动完成功能可以让你访问 Confluence 站点中所有可用的宏,包括一些自定义的宏。这些自定义的宏需要系统管理员进行添加然后将权限设置为全站可用可...
  • u013587602
  • u013587602
  • 2014-02-05 12:37:52
  • 818

Uboot优美代码赏析1:目录结构和malkefile分析

关于Uboot自己选的版本是目前最新的2011.06,官方网址为:http://www.denx.de/wiki/U-Boot/WebHome,下面的一些内容主要翻译自顶层目录的 README 。 ...
  • juxianliyu
  • juxianliyu
  • 2015-04-23 15:35:09
  • 437

MFC中常用类,宏,函数介绍.

  • 2011年07月06日 14:15
  • 25KB
  • 下载

Excel宏教程 (宏的介绍与基本使用)

Excel宏教程 (宏的介绍与基本使用) Microsoft excel是一款功能非常强大的电子表格软件。它可以轻松地完成数据的各类数学运算,并用各种二维或三维图形形象地表示出来,从...
  • myKurt
  • myKurt
  • 2016-06-22 22:03:43
  • 19660
收藏助手
不良信息举报
您举报文章:宏#与##介绍
举报原因:
原因补充:

(最多只允许输入30个字)