-1
__FILE__
在我以32位运行程序时返回了完整的文件路径。 但在64位它只给出文件名。如何解决这个问题?__FILE__未在64位配置中提供完整的文件路径
__FILE__
在我以32位运行程序时返回了完整的文件路径。 但在64位它只给出文件名。如何解决这个问题?__FILE__未在64位配置中提供完整的文件路径
这可能更多取决于驱动编译器的方式,而不是32/64位差异。
我的期望(以及我在这里用gcc验证的)是__FILE__
给出了提供给编译器的名称。例如
$ cat foo.c
int main() { printf("%s\n",__FILE__); }
$ gcc foo.c & ./a.out
foo.c
$ gcc ./foo.c & ./a.out
./foo.c
$ gcc `pwd`/foo.c & ./a.out
/the/full/path/as/reported/by/pwd/foo.c
同样包含文件,报告的路径是你指定的目录,包括编译器使用访问头,因此可以依靠的方式之一。
哪个编译器?你能给我们一个简单的例子来证明这一点吗?你可以编译并运行'int main(){printf(“%s \ n”,__ FILE__); }'并通过你的C++编译器运行它? –