導航:首頁 > 源碼編譯 > gcc編譯多個c

gcc編譯多個c

發布時間:2024-03-01 23:14:10

Ⅰ gcc 編譯c的多文件程序問題

不怕麻煩的話呢,可以調整#include結構來讓各c文件相連。。
建議呢,把類型與函數的聲明整理到特定的.h文件中,然後用#ifndef來使其只被包含一次,然後,在用到其它文件中實現的函數的時候將相應的.h文件include進來就好。這樣呢,編譯的時候可以單個文件逐一編譯:
gcc -c main.c -o main.o
gcc -c del.c -o del.o
gcc -c insert.c -o insert.o
參數-c意思是只編譯不連接,-o是名命輸出文件。
全部編譯成.o文件無誤後,再將所有的.o文件相連:
gcc main.o del.o insert.o -o prog
就可以生成prog了。

然後舉個例子說明處理.h文件:
比如這個create.c。裡面定義了一個struct和一個函數。那麼就可以寫create.h如下:

#ifndef __CREATE_H__
#define __CREATE_H__
struct student
{
long num ;
float score;
struct student *next;
};
struct student *creat(void);
#endif

然後呢,因為student這個struct在這個.h文件里已經聲明了,所以create.c里只要寫#include "create.h",而在用到這個struct或者這個函數的場合,也只要這樣簡單一句就可以了。而.h文件開頭的#ifndef可以保證同一個h文件不會被多次包含。當然,如果編譯器支持的話,用#pragma once也許會比#ifndef更省事一些。

以上。

Ⅱ GCC問題:兩個.C文件編譯成一個.O文件

直接這么做的話,不可以。
不過你可以寫一個.c文件,裡面
#include "xxx.c"
#include "yyy.c"
這樣,然後再編譯,就能變成一個.o了

Ⅲ 如何編譯C文件

編譯C文件用GCC。
編譯C文件常用方法:
單個文件:
g++
file.cpp
這是最簡單形式,預設輸出為a.out,可以用-o命令指定輸出文件,比如g++
file.cpp
f.out
多個文件:
g++
-c
1.cpp
-o
1.o
g++
-c
2.cpp
-o
2.o
g++
1.o
2.o
-o
prog.out
鏈接成可執行文件:
一般用g++
-o
file
file.cpp
多個文件是g++
-o
file
file1.cpp
file2.cpp
...
編譯C++不是用GCC而是G++.
如果用GCC能編譯但不能鏈接.
多個文件:
1.編譯多個文件,但不連接:
g++
file1.cpp
file2.cpp
會生成兩個文件:file1.o,
file2.o
2.連接:
g++
-o
outFileName
file1.o
file2.o
會生成一個可執行文件:outFileName。
如果想,一步就完成編譯和連接,那麼:
g++
-o
outFileName
file1.cpp
file2.cpp
-o選項控制是否連接。

Ⅳ gcc多文件編譯 三個文件:tree.c tree_fun.c tree.h 我怎麼把他們編譯成一個可執行文件

寫一個Makefile文件,如下:
SOURCE = tree.c tree_fun.c
DEST = main
GCC = gcc
FLAGS =
all:
$(GCC) $(SOURCE) $(FLAGS) -o $(DEST)
這樣就可以直接make,可以編譯這三個文件了,編譯成的可執行文件是main

linux下 c語言多文件編譯

如果有多個源文件,基本上有兩種編譯方法:
[假設有兩個源文件為test.c和testfun.c]

1. 多個文件一起編譯
用法:#gcc testfun.c test.c -o test
作用:將testfun.c和test.c分別編譯後鏈接成test可執行文件。

2. 分別編譯各個源文件,之後對編譯後輸出的目標文件鏈接。
用法:
#gcc -c testfun.c //將testfun.c編譯成testfun.o
#gcc -c test.c //將test.c編譯成test.o
#gcc -o testfun.o test.o -o test //將testfun.o和test.o鏈接成test

以上兩種方法相比較,第一中方法編譯時需要所有文件重新編譯,而第二種方法可以只重新編譯修改的文件,未修改的文件不用重新編譯。

Ⅵ c語言中如何同時運行多個源文件

在C語言中,可以使用多個源文件來編寫一個程序。可以將程序分成多個模塊,每個模塊對應一個源文件。在使用多個源文件時,可以採用以下兩種方法來同時編譯和運行多個源文件:

將祥祥純多個源文件編譯成一個可執行文件
在這種方法中,可以使用一個命令將多個源文件編譯成一個可執行文件。例如,假設有兩個源文件main.c和func.c,可以使用以下命令將它宴拍們編譯成一個可執行文件:

go

gcc main.c func.c -o program
其中,gcc是編譯器的命令,main.c和func.c是源文件,-o program指定可執行文件的名稱為program。

將多個源文件編譯成多個目標文件,然後鏈接成一個可執行文件
在這種方法中,可以先將多個源文件分別編譯成目標文件,然後再將它們鏈接成一個可執行文件。例如,假設有兩個源文件main.c和func.c,可以使用謹咐以下命令將它們分別編譯成目標文件:

r

gcc -c main.c
gcc -c func.c
其中,-c選項表示只編譯源文件,不進行鏈接。編譯後會生成兩個目標文件main.o和func.o。

然後,可以使用以下命令將兩個目標文件鏈接成一個可執行文件:

go

gcc main.o func.o -o program
其中,main.o和func.o是目標文件,-o program指定可執行文件的名稱為program。

這兩種方法都可以同時編譯和運行多個源文件,具體使用哪種方法可以根據實際情況選擇。

Ⅶ 怎樣用gcc 一次性編譯多個objective c文件啊

你好!
gcc
-oexe
-O0
-g3
-Wall
a.cpp
b.cpp
c.cpp
...,不過我還是建議吃用cmake這種跨平台自動化編譯工具。很方便的!
如果對你有幫助,望採納。

Ⅷ 用 gcc 如何編譯多個 c 文件

已經cd到ds目錄,用如下命令
gcc -I./a -I./b a.c b.c main.c -o main

閱讀全文

與gcc編譯多個c相關的資料

熱點內容
有pdf卻打不開 瀏覽:460
七星彩軟體app怎麼下載 瀏覽:213
32單片機的重映射哪裡改 瀏覽:816
為什麼前端不用刷演算法題 瀏覽:708
對稱加密系統和公鑰加密系統 瀏覽:428
歷史地理pdf 瀏覽:604
物聯網雲伺服器框架 瀏覽:648
sybaseisql命令 瀏覽:183
android權威編程指南pdf 瀏覽:663
哪些軟體屬於加密軟體 瀏覽:646
文件夾75絲什麼意思 瀏覽:470
最便宜sop8單片機 瀏覽:966
圖解周易預測學pdf 瀏覽:420
c盤莫名奇妙多了幾個文件夾 瀏覽:171
貴州花溪門票優惠app哪個好 瀏覽:803
如何說話不會讓人有被命令的感覺 瀏覽:440
哪裡可下載湘工惠app 瀏覽:265
福特python 瀏覽:312
pdf轉換成word表格 瀏覽:353
無線遠端伺服器無響應是什麼意思 瀏覽:672