如何指示gcc/clang将临时文件输出到特定目录

A. *_* K. 12 command-line gcc g++ clang clang++

使用--save-temps选项保存临时文件时,gcc/clang会将临时文件输出到与输入文件相同的目录中.是否有选项指示gcc将文件输出到其他目录.

要么

不使用--save-temps选项时,临时文件是在默认目录(即$ TMPDIR,如/ tmp)中创建的,但是一旦创建了目标文件,它们就会被删除.有没有办法指示编译器保留这些文件而不是删除它们(我认为唯一的选择是--save-temps,它有上述问题)

Jon*_*ely 9

如果使用-save-temps=obj临时文件放在与输出文件相同的目录中,那么例如

gcc -save-temps=obj -o dir/foo.o foo.c
Run Code Online (Sandbox Code Playgroud)

将创造 dir/foo.i

显然,这在手册中有记录.所有受支持的选项都列在https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html,并链接到https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html for -save-temps.