Macros __文件\宏返回空字符串

Macros __文件\宏返回空字符串,macros,c-preprocessor,preprocessor,Macros,C Preprocessor,Preprocessor,我找不到使用预处理器变量调试当前文件名的方法。 根据我所需要的是标准的预定义宏文件,但当我尝试它时,它返回一个空字符串 我还找到了_FILE _uu宏应该返回当前文件的名称还是根文件的空字符串,但我无法真正说出当前文件和根文件之间的区别 其余的预定义宏按预期工作 这两行: debug.Log("Time: " + __TIME__) debug.Log("Filename: " + __FILE__) 返回 Time: 17:36:50 Filename: 我需要他们回来 Time: 1

我找不到使用预处理器变量调试当前文件名的方法。 根据我所需要的是标准的预定义宏文件,但当我尝试它时,它返回一个空字符串

我还找到了_FILE _uu宏应该返回当前文件的名称还是根文件的空字符串,但我无法真正说出当前文件和根文件之间的区别

其余的预定义宏按预期工作

这两行:

debug.Log("Time: " + __TIME__)
debug.Log("Filename: " + __FILE__)

返回

Time: 17:36:50
Filename: 
我需要他们回来

Time: 17:36:50
Filename: filename.mrs
正如您在我共享的示例中所看到的,带有_时间_的行正好返回我想要的内容。我尝试过的其他可用预处理器宏也是如此


只是“文件”返回了一个空字符串,我不知道为什么。

哪一个是你的编译器?@melpomene-Well结构可以有指向函数的成员:)@Someprogrammerdude很公平,但我从来没有见过在我自己的代码之外认真使用这种技术。:-)您可以在不使用
+
的情况下编写
debug.Log(“文件名:“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。很抱歉造成混淆。哪一个是您的编译器?@melpomene Well结构可以有指向函数的成员:)@Someprogrammerdude足够公平,但我从未见过在我自己的代码之外认真使用这种技术。:-)您可以在不使用
+
的情况下编写
debug.Log(“文件名:“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。为这一混乱道歉。