<分区>
我想打印在我的项目中使用的文件名。
但是,如果我使用 __FILE__
,它会打印整个路径以及文件名,这在我的例子中很长并且会扰乱日志缩进。
任何人都可以帮助我如何在我的项目中使用通用参数只打印文件名。
<分区>
我想打印在我的项目中使用的文件名。
但是,如果我使用 __FILE__
,它会打印整个路径以及文件名,这在我的例子中很长并且会扰乱日志缩进。
任何人都可以帮助我如何在我的项目中使用通用参数只打印文件名。
最佳答案
在您的 C 代码中,您可以使用表达式 basename(__FILE__)
代替 __FILE__
;但是,这样做的缺点是每次出现时都会调用 basename
。
或者,使用如下命令编译path/foo.c
gcc -Wall -c -g -DBASE_FILE=\"foo\" path/foo.c
(你可以有一个通用的 make
规则:使用 GNU make 使用 functions 像 basename
和 automatic variables )
然后在您的代码中使用 BASE_FILE
而不是 __FILE__
。
有了 GCC,你可以使用 __BASE_FILE__
而不是 __FILE__
关于c - 如何在 C 中不使用 __FILE__ 只打印文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24279941/