c - linux下gcc显示当前编译文件名

标签 c linux gcc

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

最佳答案

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

在这个例子中,我很幸运地捕获了实际上用 ps 编译 1.c 的子进程,它几乎与 gcc

同时启动

无论如何,在 GCC 之上使用成熟的构建系统(make、CMake 或 SCons)对于编译由多个文件组成的项目要好得多。

关于c - linux下gcc显示当前编译文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46101850/

相关文章:

c - 如何生成混淆代码

java - Jenkins 奴隶无法写入 jarCache

c++ - 如何使 float 表现为 double?

linux - 在 Ubuntu 上使用 IUP 和 C

c - 在哪里可以找到平台宏?

用于打开受密码保护的文件的 C zip 库

c++ - 每个 undefined symbol 是否都与它来自的库名称相关联?

python - Crontab 在重新启动时不运行 Python 脚本

c++ - gcc c++ 命令行错误消息解析器

c - 为什么我们需要在 C 函数的末尾使用 'return 0' ?