使用gcc(即:gcc * .c)编译多个文件时,大型项目可能需要一些时间来编译,如果没有找到错误,屏幕会保持静态一段时间。 gcc是否有一个命令行选项来显示当前正在编译的c文件的文件名?
答案 0 :(得分:0)
gcc
只是一个uses cc1
实际编译输入C文件的驱动程序。
也就是说,您可以简单地检查gcc
子进程的参数,以获得gcc
所需的内容。即:
> gcc 1.c 2.c & ps -f --forest
[1] 22907
UID PID PPID C STIME TTY TIME CMD
myaut 21963 18153 0 20:21 pts/1 00:00:00 /bin/bash
myaut 22907 21963 0 20:41 pts/1 00:00:00 \_ gcc 1.c 2.c
myaut 22909 22907 0 20:41 pts/1 00:00:00 | \_
/usr/lib64/gcc/x86_64-suse-linux/4.8/cc1 -quiet 1.c -quiet -dumpbase
1.c -mtune=generic -march=x86-64 -auxbase 1 -o
myaut 22908 21963 0 20:41 pts/1 00:00:00 \_ ps -f --forest
在这个例子中,我很幸运能够捕获实际编译1.c的子进程,ps
几乎与gcc
同时启动
无论如何,在GCC(make,CMake或SCons)之上使用完整的建筑系统对于编译包含多个文件的项目来说要好得多。