当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

<b>宏的妙用</b>[VC/C++编程]

赞助商链接



  本文“<b>宏的妙用</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1、概述

C++中出了const关键字今后,宏定义常量的功效已经不在被举荐利用.这使 得宏仿佛没有了用武之地.实际上,宏还可以做很多事情,笔者也难以全部摆列 .这里,仅仅摆列几个典型的用法,但愿大家可以从中获益.

2、实现多环境兼容

常见的情形是,我们实现了一个函数,但愿它只在某种编译条件满意是被编译和利用.比方,我但愿在源码中插入调试语句,以便以Debug方法运行时可以 通过调试信息察看程序运行情形.但是,在产品发售给用户时,我又但愿这些调 试信息不要输出,以降低代码尺寸,提高运行性能. 这一问题的办理办法就是 利用宏.按照条件编译指令,关于差别的编译条件,供应差别的实现.比方:我们但愿在特定的位置向日记中写入当前行号和文件名,以判断对应代码能否被执 行到,可以利用下面的宏:

#ifdef _DEBUG
    #define TRACE_FILE_LINE_INFO() do{
      CString str;
      str.Format(_T("file=%s,line=%u
",__FILE__,__LINE__);
      CFile file("logfile.txt");
      file.Write(str,str.GetLength());
    }while(0)
    #else
    #define TRACE_FILE_LINE_INFO()
    #endif

上面这段代码通过#ifdef #else #endif三个条件编译 指令,按照_DEBUG定义情形(该宏用于辨别DEBUG版本和Release版本),决意了 具体的TRACE_FILE_LINE_INFO宏函数的实现.利用者可以用以下办法利用

TRACE_FILE_LINE_INFO();//这里显示行号和文本信息

当然 ,采取其他方法也可以实现这一功效,但是利用宏有以下特别好处: 只有需求 的代码才会被编译,削减了标记表的尺寸,也削减了代码尺寸 宏在编译时被展 开,因此用于表示代码位置的__FILE__,__LINE__宏可以起作用,假如用函数实 现,这两个宏则不能起作用.


  以上是“<b>宏的妙用</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .