簡體   English   中英

gcc -c選項如何工作?

[英]how does gcc -c option work?

#include"header.h"

int main(){

    function();
    return 0;
}

以上是我的代碼的簡化形式。 我在header.h文件中實現了function(),並將其與此code.c文件放在同一目錄中。

我聽說“ gcc -c code.c”是“編譯但沒有鏈接”選項,但是此代碼需要與header.h文件鏈接。 所以我猜-c選項將標記一個錯誤,而沒有。 但是,如果沒有-c選項,它將標記一個錯誤。 誰能解釋這個-c選項如何工作?

頭文件與鏈接無關。 鏈接是將多個目標文件和庫組合成一個可執行文件。

頭文件由編譯器處理,是生成目標文件的一部分。 因此, gcc -c將處理頭文件。

gcc -c編譯源文件而不鏈接。

頭文件與鏈接過程無關,它們僅在編譯過程中用於告訴編譯器各種聲明和函數原型。

但是,在標頭文件中實現功能是不明智的做法,在這種情況下,兩種編譯策略均應起作用。 即帶有和不帶有c標志的gcc

暫無
暫無

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

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