簡體   English   中英

在Linux下的gcc中顯示當前正在編譯的文件名

[英]Display currently compiling filename in gcc under linux

使用gcc編譯多個文件(即gcc * .c)時,大型項目可能需要花費一些時間進行編譯,如果未發現錯誤,則屏幕將保持靜態一段時間。 gcc是否具有命令行選項來顯示其當前正在編譯的c文件的文件名?

gcc只是一個驅動程序, 使用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)之上使用完整的構建系統對編譯包含多個文件的項目要好得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM