找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 10670|回复: 2

如何利用宏在调试的时候打出行信息

[复制链接]
发表于 2015-5-14 13:38:14 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
前几天群里有人讨论过,我也受益匪浅,这里把结果贴在这里,应该能帮到很多人
  1. #include <iostream>

  2. using namespace std;

  3. #define _TOUNICODE(x) L##x
  4. #define TOUNICODE(x) _TOUNICODE(x)//中介一下,不能直接用
  5. #define _TOTEXT(x) #x
  6. #define TOATEXT(x) _TOTEXT(x)//中介一下,不能直接用
  7. #define TOUTEXT(x) TOUNICODE(TOATEXT(x))

  8. #if defined(UNICODE) || defined(_UNICODE)
  9. #define SHOWINFO L"FILE:"##TOUTEXT(__FILE__)##L"\tLINE:"##TOUTEXT(__LINE__)
  10. #define tcout wcout
  11. #else
  12. #define SHOWINFO(x) "FILE:"##TOATEXT(__FILE__)##"\tLINE:"##TOATEXT(__LINE__)
  13. #define tcout cout
  14. #endif

  15. void main()
  16. {
  17.         tcout << SHOWINFO << endl;
  18.         int i;
  19.         cin >> i;
  20. }
复制代码
回复

使用道具 举报

发表于 2015-5-14 13:58:01 | 显示全部楼层
studied
回复

使用道具 举报

发表于 2015-5-14 15:34:10 | 显示全部楼层
  1.        
  2. // 启用调试
  3. #define NDEBUG

  4. #ifndef NDEBUG
  5. using std::cout;
  6. using std::endl;
  7. HANDLE coutHandle = GetStdHandle(STD_OUTPUT_HANDLE);
  8. SetConsoleTextAttribute(coutHandle,FOREGROUND_GREEN);
  9. cout<< "==============调试模式=================="<<endl

  10.        << "==============调试模式=================="<<endl;
  11. SetConsoleTextAttribute(coutHandle,FOREGROUND_INTENSITY);
  12. #endif
复制代码
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-22 17:43 , Processed in 0.031845 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表