c++ - msvc 相当于 gcc 的 __BASE_FILE__

标签 c++ visual-c++ gcc macros

在 Visual C++ 中是否有任何等效于 __BASE_FILE__ 的东西?我想知道 当前正在由 VC++ 编译 的文件的名称。

注意:__FILE__ 展开为当前文件,例如它可能是 #include 之一。


来自 gcc 的文档:

__BASE_FILE__

此宏以 C 字符串常量的形式扩展为主输入文件的名称。这是调用 C 编译器时指定为参数的源文件。

最佳答案

感谢 John 的评论,这是一个解决方法。如果您简单地输入 __BASE_FILE__=%(Filename),它不会生成文字字符串。所以把它放在双引号之间;我还添加了扩展名,因为 %(Filename) 没有它。

__BASE_FILE__="%(Filename)%(Extension)"

这一行必须写在项目属性页的预处理器页中。

关于c++ - msvc 相当于 gcc 的 __BASE_FILE__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15509061/

相关文章:

c - 使用 CMake 设置平台特定/编译器特定的目标属性

创建一个简单的共享库

android - 更新后的 Android Studio 现在需要 Clang,不再链接到 GCC 的库

c - 为什么 printf 对于不同的编译器设置 64 和 32 显示错误的 int 变量值?

c++ - 使用 C++ Builder 可以替代 DUnit 吗?

c++ - 到处使用共享指针有什么陷阱?

c++ - 如何使用 cmake 为嵌套子目录设置 Visual Studio 过滤器

c++ - 毫秒 mpi 错误 : unable to allocate launching block

c++ - C++中的重载ostream运算符错误

c++ - 当模板化类不包含可用的成员函数时,如何在编译时验证模板参数?