提示型警告

    朋友告诉我一个有意思的玩法,利用#prama message给自己提供个提示型警告。

#include <iostream>
using namespace std;

#define STRING2(x) #x
#define STRING(x) STRING2(x)

int main()
{
cout << 1 << endl;
cout << 2 << endl;
cout << 3 << endl;

//to do list
#pragma message(__FILE__ "(" STRING(__LINE__) ") : warning : to do list:通知,通知,这是个提示型警告!!!" )

cout << 4 << endl;
cout << 5 << endl;

return 0;
}

    结果编译的时候,输出:

    点击该行,就能知道,这处代码你还需要做什么了。

    困惑的是,不知道为什么一定要这样写,想来需要去查查一些资料了

#define STRING2(x) #x
#define STRING(x) STRING2(x)


    上面的代码是根据MSDN(VS2008)改来的

#define STRING2(x) #x
#define STRING(x) STRING2(x)

#pragma message (__FILE__ "[" STRING(__LINE__) "]: test")



    昨天,博问了下http://q.cnblogs.com/q/33234/又有新收获,代码如下:

#include <iostream>
using namespace std;

#define WARNING_STRING2(x) #x
#define WARNING_STRING(x) WARNING_STRING2(x)
#define WARNING_TARGET(x) "["#x"] "

#define WARNING_TODO(target, desc) message(__FILE__ "(" WARNING_STRING(__LINE__) ") : warning : @TODO " WARNING_TARGET(target)##desc)
#define WARNING_FIX(target, desc) message(__FILE__ "(" WARNING_STRING(__LINE__) ") : warning : @FIXME " WARNING_TARGET(target)##desc)
#define WARNING_WARN(target, desc) message(__FILE__ "(" WARNING_STRING(__LINE__) ") : warning : @WARN " WARNING_TARGET(target)##desc)

int main()
{
cout << 1 << endl;
cout << 2 << endl;
cout << 3 << endl;

#pragma WARNING_TODO( muyu, "通知,通知,这是个提示型警告!!!" )
#pragma WARNING_FIX( muyu, "通知,通知,这是个提示型警告!!!" )
#pragma WARNING_WARN( muyu, "通知,通知,这是个提示型警告!!!" )

cout << 4 << endl;
cout << 5 << endl;

return 0;
}

 

    结果如下:


   一点小进步,哈!

posted @ 2012-03-19 16:49  木愚  阅读(194)  评论(2编辑  收藏  举报