gcc 的編譯選項 MD 是什麼意思?

2021-06-07 07:25:37 字數 1113 閱讀 8693

gcc -m 引數你應該了解吧,比如我有乙個t.c,內容是

#include #include int test()

gcc -c -m t.c 不會編譯t.c,而是輸出t.o (t.c對應的目標檔案)的依賴關係(用於makefile),比如在我的系統上輸出:

t.o: t.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/i686-pc-linux-gnu/4.4.3/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/lib/gcc/i686-pc-linux-gnu/4.4.3/include/stdarg.h \

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

/usr/include/string.h /usr/include/xlocale.h

如果你想讓依賴關係列印到檔案,而不是標準輸出,那麼可以用

gcc -m -mf file t.c

上面的內容就會儲存到 file 裡。

預設的, -m引數意味著-e引數同時也生效, -e引數的用處是只進行預編譯,而不會編譯出真正的目標檔案 (t.o)

有了上面的概念,就可以理解 -md了,

比如gcc -c -md t.c

就會生成 t.d (儲存前面說國的依賴關係), t.o (t.c編譯後的目標檔案,之所以會產生是因為 -e引數在-md的時候預設是關閉的)

gcc -c -o p.o -md t.c

就會聲稱 p.o 和 p.d (儲存依賴關係),這是因為你用了-o引數指定了名字

贊同

====

uma是什麼意思 UMA是什麼意思?

展開全部 uma 不明生物 是636f707962616964757a686964616f31333431376537動畫 進化戰記 betterman 中的一類人造怪物的統稱,是生命工學食料研究所 b.p.l.所長梅崎博士製造出來 協助他利用阿尼瑪斯之花 大量製造蛋白質 具有驚人攻擊性的怪物。阿拉...

是什麼意思?

meta是html中的元標籤,其中包含了對應html的相關資訊,客戶端瀏覽器或伺服器端的程式會根據這些資訊進行處理。http equiv類似於http的頭部協議,它回應給瀏覽器一些有用的資訊,以幫助正確和精確地顯示網頁內容。content 內容型別 重要!這個網頁的格式是文字的,網頁模式 chars...

In 是什麼意思

函式引數型別前 in 代表什麼 在visual c 中屬於sal批註,是為了編譯系統在分析 時發現缺陷用的 表示是乙個輸入引數。可以定義乙個 in 的巨集,這個巨集什麼都不做,就是形如這樣的。define in void fun int in x 等同於 void fun int x 但是他給出了引...