__FILE__:用以指示本行语句所在源文件的文件名;
__LINE__则包含了源代码的行号;
__FUNCTION__只能输出类的成员名,不会输出类名;
__PRETTY_FUNCTION__则会以 <return-type> <class-name>::<member-function-name>(<parameters-list>) 的格式输出成员函数的详悉信息
若用gcc编译C程序,__PRETTY_FUNCTION__跟__FUNCTION__的功能相同.而VC.Net提供的函数宏为:__FUNCTION__ 函数,提供类名和函数名称的输出。