導航:首頁 > 文件教程 > cc編譯器編譯頭文件

cc編譯器編譯頭文件

發布時間:2023-05-09 14:30:37

A. c++中如何編譯頭文件,編譯頭文件的作用,

每個C++/C程序通常分為兩個文件。一個文件用於保存程序的聲明(declaration),稱為頭文件。另一個文件用於保存程序的實現(implementation),稱為定義(definition)文件。C++/C程序的頭文件以「.h」為後綴,C程序的定義文件以「.c」為後綴,C++程序的定義文件通常以「.cpp」為後綴(也有一些系統以「.cc」或「.cxx」為後綴)。
創建方法:文件→新建→在彈出的框中選擇文件欄→C++/C Header File→確定,然後就開始握缺枝寫頭文件內容。
頭文件作用:
1,頭文件可以定義所用的函數列表,方便查閱你可以調用的函數;扮顫
2,頭文件可以定義很多宏定義,就是一些全局靜態變數的定義,在這樣的情況下,只要修改頭文件的內容,程序就可以做相應的修改,不用親自跑到繁瑣的代碼內去搜索。
3,頭文件只是聲明,不佔內存空間,要知道其執行過程,要看你頭文件所申明的函數是在哪個.c文件里定義的,才知道。
4,他並不是C自帶的,可以不用。
5,調用了頭文件,就等於賦段敏予了調用某些函數的許可權,如果你要算一個數的N次方,就要調用Pow()函數,而這個函數是定義在math.c裡面的,要用這個函數,就必需調用math.h這個頭文件。

B. 關於在linux下用gcc編譯頭文件的問題。

我用一個例子來告訴你怎麼樣在 C++ 里使用C的頭文件/函數。

比方說我有一個C的頭文件叫 c.h, C的源碼文件叫 c.c,內容分別是

c.h:
#ifndef _ASDFD_INCLUDED_
#define _ASDFD_INCLUDED_

#include <stdio.h>

extern int test(int a);

#endif

c.c:
#include "c.h"

int test(int a)
{
printf("A = %d\n", a);
return a*a;
}

現在我想在c++中使用c.c中提供的函數test(),我的c++文件名字叫 a.cpp,那麼裡面跟C有關的部分就要用 extern "C" {} 大括弧括起來,看看我的
a.cpp:
#include <iostream>
using namespace std;

extern "C"
{
#include "c.h"
}

int main()
{
int b = 12;

b = test(b);

cout<<"b = "<<b<<endl;
return 0;
}

看到了吧,#include "c.h" 被 extern "C" {}括起來了。

然後是如何編譯,先把C文件編出目標文件(.o)來
gcc -c c.c
你會看到生成了 c.o,其實,有目標文件就夠了,如果你一定要做成(靜態/動態)庫文件,也是可以的,不過我這里就不深入了,做成庫和直接用目標文件對解決你的問題沒有任何區別。

然後再編譯C++文件,也就是我的 a.cpp
g++ -o hello a.cpp c.o
看到了吧,我在編譯 a.cpp 的時候把C生成的 c.o也加上了。 然後生成 可執行的 hello, 運行
./hello
就可以看到
A = 12
b = 144

關於創建靜態庫,假定你有3個C文件, a.c, b.c, c.c 提供了你C++要用到的介面,那麼可以把這三個C文件編譯出來的目標文件放到一個庫文件里供C++使用,方法為

先編譯出目標文件
gcc -c a.c b.c c.c

這時候你應該看到有 a.o b.o c.o了

然後創建庫文件
ar cr libtest.a a.o b.o c.o
這三個目標文件就放入 libtest.a 這個靜態庫中了,然後編譯C++程序 (你的C++程序應該已經按照我前面說的用 extern "C" 把C的介面都括起來了),假定你的 libtest.a 放在 /home/aaa/lib下

g++ -o my.exe my.cpp -L/home/aaa/lib -ltest

就會生成可執行文件 my.exe了。

C. C/C++編譯器如何通過頭文件鏈接到對應的庫文件

把自己的頭文件存為*.h文件名。然後在要調用該頭文件的程悉渣序開頭用
#include
<*.h>如果你指的是包含一個你編譯器沒有的第三方頭文件的話,那麼首先檢查該頭文件代碼是否數扒被編譯器支持,如薯陸昌果支持的話使用#include包含她就可以了。

D. cc gcc編譯器怎麼使用

gcc --help可以看gcc的編譯選項

常用的有
gcc -c xcxcx.c : -c 編譯C代碼,生成該文件的渣液obj文件
gcc xcxcx.o -o dest : -o 鏈接各個obj文件,生成目標執行程序
-I : (這里是大寫i) 表示頭文件路徑
-L : 表示襪空庫文件路徑
-l : (這里是小寫的L) 表示需要鏈接的庫文件
-O: (這里是大寫英文o) 表示優化參數
-WALL:告梁瞎 表示warning等級

這里是一句完整的話
g++ -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-static/lib -o Qt_V4L_ShowImage main.o myWidget.o v4lThread.o moc_myWidget.o moc_v4lThread.o -L/usr/local/Trolltech/QtEmbedded-static/lib -lQtGui -L/usr/local/tslib/lib -L/usr/local/Trolltech/QtEmbedded-static/lib -L/usr/local/lib -L/home/root/ffmpeg/lib -lts -lQtNetwork -lQtCore -lc -lgcc -lm -lrt -ldl -lpthread -lavcodec -lavformat -lavutil -lx264 -xvidcore -lcv -lhighgui -lcvaux -lcxcore

不過還是自己看一下gcc的help比較好,那裡講的全面些

E. c語言中如何編譯頭文件啊

  1. 只要在程序開頭加入#include<頭文件名>,在編譯過程當中,頭文件自動會被添加到源文件當中一起進行編譯。

  2. 編譯,棗高猜編譯程序讀取源程序(字元流),對之進行詞法和語法的分析,將高級語言指令轉換為功能等效的匯編代碼,再由匯編程序轉換為機器語言,並念悉且按照操作系統對可執行文件格式的要求鏈接生成可執行程序。
    C源程序頭文件-->預編譯處理(cpp)-->編譯程序本身-->優化程序-->匯編程序-->鏈凳型接程序-->可執行文件。

F. arm-linux-gcc怎麼編譯自己寫的頭文件

linux gcc編譯c文件頭文件
linux gcc編譯c文件頭文件,使用GCC編譯器編譯C語言

凶豬下山
轉載
關注
0點贊·1047人閱讀
GCC編譯C源代碼有四個步驟:預處理—->編譯—->匯編—->鏈接。

可以利用GCC的參數來控制執行的過程,這樣就可以更深入的了解編譯C程序的過程。

下面將通過對一個程序的編譯來演示整個過程。

#include

int main()

{

printf("happy new year!\n");

return 0;

}

1:預處理:編譯器將C程序的頭文件編譯進來,還有宏的替換,可以用gcc的參數-E來參看。

預處理 命令:gcc -E hello.c -o hello.i

作用:將hello.c預處理輸出hello.i

2:編譯:這個階段編譯器主要做詞法分析、語法分析、語義分析等,在檢查無錯誤後後,把代碼翻譯成匯編語言。可用gcc的參數-S來參看。

編譯器(ccl)將文本文件hello.i 翻譯成文本文件hello.s, 它包含一個匯編語言程序。匯編語言程序中的每條語句都以一種標準的文本格式描述了一條低級機器語言指令。

編譯命令:gcc -S hello.i -o hello.s

作用:將預處理輸出文件hello.i匯編成hello.s文件

3:匯編:把編譯階段生成的.s 文件轉換為二進制目標代碼。可用gcc的參數-c來參看。匯編器(as)將hello.s翻譯成機器語言指令,把這些指令打包成可重定位目標程序的格式, 並將結果保存在目標文件hello.o中。hello.o文件是一個二進制文件,它的位元組編碼是機器語言。

匯編 命令:gcc -c hello.s -o hello.o

作用:作用:將匯編輸出文件hello.s編譯輸出hello.o文件

4:鏈接:把obj文件鏈接為可執行的文件:鏈接器(ld)負責.o文件的並入。結果就是hello文件,它是一個課執行的目標文件,可以載入到存儲器後由系統調用。

鏈接命令:gcc hello.o -o hello

一步操作的話是: (-o必須在hello之前 )

$gcc hello.c -o hello

$./hello或者:(會默認生成a.out文件)

$gcc hello.c

$./a.out

G. 怎樣利用CC命令在Unix上編譯C程序

在 UNIX系統下面,使用 cc 命令最常用的選項主要有如下幾個(以 my_prog.c 為例進行說明)
$cc -c my_prog.c <cr> (-c 選項表示只編譯、產生中間文件,不進行鏈接、並產生最終的可執行程序)
$cc my_prog.c <cr>(編譯、鏈接,並產生預設的可執行程序。預設的可執行文件名為:a.out)
$cc -o my_runfile my_prog.c <cr>(-o 選項用於生腔友成用戶指定啟圓派的可執行程序名,代替預設的可執行文件名:a.out。這里的可執行文件名是:悄賀my_runfile)
至於說還有很多其他選項,例如:-L系統庫名字(*.LIB)等,那就需要在平時的編程過程中去體會了。
另外,如果是在 Linux 系統下面進行 C 語言的開發,使用的是 gcc 編譯器。其選項和 cc 編譯器相同。

H. cs+forcc添加頭文件

在 CS+FORCC 中添加頭文件可以使用以下步驟:

1. 打開需要添加頭文件的 c 文件。
2. 在文件的開頭部分,使用 #include 指令添加需要的頭文件,例如:`#include <stdio.h>`。
3. 保存文件並編譯。

需要注意的是,CS+FORCC 中的頭文件通常都是 C 標准庫中的頭文件,也可以添加其他的自定義頭文件。如果遇到編譯錯誤,可以檢查頭文件路徑是否正確或者是否缺少依賴庫等問題。

閱讀全文

與cc編譯器編譯頭文件相關的資料

熱點內容
win10刪除c盤文件會刪掉系統嗎 瀏覽:785
qq的獨立密碼怎麼取消 瀏覽:289
後台的商品數據在哪裡看 瀏覽:795
不用網路載入的單機游戲有哪些 瀏覽:608
數據線插頭怎麼接頭 瀏覽:577
網路載入視頻失敗是怎麼回事 瀏覽:805
傳奇賬號在哪個文件夾里 瀏覽:346
百度app在哪裡安裝 瀏覽:587
如何設置路由器網路不斷網 瀏覽:471
傳到qq群里的文件怎麼刪除 瀏覽:861
索尼安卓71更新日誌 瀏覽:234
怎麼找手機里的垃圾app 瀏覽:540
2015藍橋杯代碼填空 瀏覽:698
安卓資料庫dbexecSQL 瀏覽:227
doc重命名文件格式 瀏覽:728
getscreen截圖工具下載 瀏覽:719
共識數據是什麼時候開始的 瀏覽:96
數碼管顯示電壓程序 瀏覽:479
資料庫文件有哪個 瀏覽:543
途強儲存在哪個文件夾 瀏覽:172

友情鏈接