GCC選項之-M


大多數的C/C++編譯器都支持一個“-M”的選項,即自動找尋源文件中包含的頭文件。舉個例子,比如mian.c包含有如下頭文件。

#include <stdio.h>

#include "log.h"

      

用gcc -M main.c就可以輸入其包含的所有頭文件。如下圖所示。

 [root@bogon CodeNotes]# gcc -M main.c

main.o: main.c /usr/include/stdio.h /usr/include/features.h \

  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \

  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \

  /usr/lib/gcc/i386-redhat-Linux/4.1.2/include/stddef.h \

  /usr/include/bits/types.h /usr/include/bits/typesizes.h \

  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \

  /usr/include/bits/wchar.h /usr/include/gconv.h \

  /usr/lib/gcc/i386-redhat-linux/4.1.2/include/stdarg.h \

  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h log.h

      

可以看出“-M”參數會把一些標准庫的頭文件也包含進來。如果你使用GNU的C/C++編譯器,你可以用“-MM”參數,它會忽略#include<file>造成的依賴關系,不會顯示標准庫的頭文件,如下圖所示。

 [root@bogon CodeNotes]# gcc -MM main.c

main.o: main.c log.h


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM