显示当前在linux下的gcc中编译文件名

时间:2017-09-07 17:09:57

标签: c linux gcc

使用gcc(即:gcc * .c)编译多个文件时,大型项目可能需要一些时间来编译,如果没有找到错误,屏幕会保持静态一段时间。 gcc是否有一个命令行选项来显示当前正在编译的c文件的文件名?

1 个答案:

答案 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)之上使用完整的建筑系统对于编译包含多个文件的项目来说要好得多。