MSVC / FA GCC等效
我使用GCC编译器,我想用__FILE__
打印文件的完整路径,但GCC只显示文件的名称。 在MSVC中是一样的,但是你可以使用参数/ FC(源代码文件的完整路径在诊断中)并且它可以工作。 有没有与GCC等价的东西?
int main(int argc, char ** argv)
{
std::cout << __FILE__ << std::endl;
return 0;
}
我找不到任何等价物,但我意识到__FILE__
宏通过预处理器用于打开文件的路径扩展为当前输入文件的名称。 所以它将取决于传递给编译器的内容。
我使用CMake
作为构建系统解决了这个问题。 当CMake
创建MakeFile时,它使用变量CMAKE_SOURCE_DIR
的完整路径,这种方式__FILE__
将完全打印我们期望的内容。