提示型警告
朋友告诉我一个有意思的玩法,利用#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;
}
结果如下:
一点小进步,哈!