我只需要__FILE__
和__FILEW__
宏返回整个路径的文件名。
我定义了以下内容:
#define __FILE_NAME_ONLY__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__)
我使用它如下:
#define MY_TRACE( mask, format, ... ) \
GlobalTrace( mask, L"-[" __FILE_NAME_ONLY__ L":" format , __VA_ARGS__ )
我收到以下错误:
错误 C2064:术语不计算为采用 1 个参数的函数
当我尝试以下宏时:
#define __WIDE(_String) L ## _String
#define _WIDE(_String) __WIDE(_String)
如下
#define MY_TRACE( mask, format, ... ) \
GlobalTrace( mask, L"-[" _WIDE(__FILE_NAME_ONLY__) L":" format , __VA_ARGS__ )
当我实际尝试使用 MY_TRACE 宏时,我得到:错误 C2146:语法错误:在标识符 'L' 之前缺少 ')'
我错过了什么?谢谢