gcc編譯位於不同檔案下的 c檔案。

2021-09-27 07:35:01 字數 1364 閱讀 4687

我在day2檔案下建立了乙個main.c函式,然後乙個add資料夾,乙個sub資料夾。其中add檔案下有add_int.c,add_float.c,add.h;然後在sub資料夾中有sub_int.c,sub_float.c,sub.**件。

#include #include "add.h"

#include "sub.h"

int main(void)

add_int.c:

int add_int(int a,int b)

add_float.c:

float add_float(float x,float y)

add.h:

#ifndef __add_h

#define __add_h

extern int add_int(int a,int b);

extern float add_float(float x,float y);

#endif

sub_float.c:

float sub_float(float x,float y)

sub_int.c:

int sub_int(int a,int b)

sub.h:

#ifndef __sub_h

#define __sub_h

extern float sub_float(float x,float y);

extern int sub_int(int x,int y);

#endif#ifndef __sub_h

#define __sub_h

extern float sub_float(float x,float y);

extern int sub_int(int x,int y);

#endif

這樣我們可以使用

gcc -o main1.out main.c -i ./add/ -i ./sub/ add/add_int.c add/add_float.c sub/sub_int.c sub/sub_float.c
其中main1.out是你生成的可執行檔案的名字,然後 -i ./add/表示的是你的當前檔案下的add檔案下的乙個路徑。這裡使用的-i是讓編譯器從add和sub下尋找相應的檔案。

linux下c檔案的編譯(gcc的使用)

輸入gcc hello.c 然後回車,將會生成a.out,以綠色顯示的檔案 輸入gcc hello.c o myhello.out 或者gcc hello.c o myhello 然後回車即可生成以綠色顯示的檔案 linux下檔案可以沒有字尾名 l 鏈結庫檔案,庫檔案的名稱通常是lib a 在輸入的...

c 工程內不同檔案的函式呼叫

乙個工程裡只能有乙個main函式,不同檔案的函式之間可以相互呼叫,寫個頭檔案就可以 下面舉個例子介紹 main.cpp include include trytry.h 包含的標頭檔案 using namespace std int hello int main int hello try.cpp ...

C 在不同編譯下的不同表現

這是我在2018年的時候發在unity forums上的帖子,至今無人回覆,之前是想用typedreference做datatable的相關功能的,可是結果不正確.tiancaiwrk,oct 18,2018 c has some way to get generic type target poi...