[阅读: 507] 2004-12-22 14:10:36
那个变参的变通实现真的很新颖!!
虽然调用方式有点怪,但真的很实用!
下面这个例子是否可以改造成运行时打印行号?能打印上一行的代码则更好!
(是否已经有真的这些的标准解决办法)
#define __MY_STR(x) #x
#define __MY_STR2(x) __MY_STR(x)
#define MY_FILE_LINE __FILE__ "(" __MY_STR2(__LINE__) "):"
#define prompt(desc) message(MY_FILE_LINE desc)
int main( int argc, char* argv[] )
{
#pragma prompt(“incomplete here…”) // 第8行
return 0;
}
编译器的编译输出显示:
Compiling...
test.cpp
c:\test.cpp(8):incomplete here...
Linking...
test.exe - 0 error(s), 0 warning(s)
最后一个例子没有仔细看,可能真的是意义在用于学术演示