c++ - MSVC/FA GCC 等效项

标签 c++ c visual-c++ gcc c++11

我使用 GCC 进行编译,我想使用 __FILE__ 打印文件的完整路径,但 GCC 仅显示文件名。在 MSVC 中是相同的,但您可以使用参数 /FC (Full Path of Source Code File in Diagnostics)它有效。有与 GCC 等效的吗?

int main(int argc, char ** argv)
{
    std::cout << __FILE__ << std::endl;
    return 0;
}

最佳答案

我找不到任何等效项,但我意识到 __FILE__ 宏通过预处理器打开文件所使用的路径扩展为当前输入文件的名称。因此,这取决于传递给编译器的内容。

我使用CMake作为构建系统解决了这个问题。当CMake创建MakeFile时,它使用变量CMAKE_SOURCE_DIR中的完整路径,这样__FILE__将准确打印我们期望的内容。

关于c++ - MSVC/FA GCC 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25942914/

相关文章:

c++ - 答案怎么是-0?

windows - 打开闪存驱动器的句柄给我一个 "Access Denied"错误代码

C编程getcwd变量操作

c - 返回由从输入读取的行组成的字符串

c - linux 将时间(针对不同的时区)转换为 UTC

C++ 错误 C2512 : no appropriate default constructor available

c++ - 使应用程序在使用 Win7 功能的 WinXP/Vista 上运行

c++ - Opencv:二维条码(Data Matrix)检测

c++ - 按下 Alt-Enter 时调用什么函数?

c# - c++ - 使用 std 命名空间和依赖项