Dev-C++同時編譯多個C或C++文件方法

Dev-C++同時編譯多個C文件:
考察多源代碼文件程序的編譯及頭文件的使用 :
如果程序的函數(shù) 分別放在不同的程序之中,那就必須是定義常量的#define指令對于每個文件都可用:
定義一個***.h文件,存儲函數(shù)原型和常量定義
需一起編譯的文件添加 #include "***.h"即可
編譯步驟:
1.新建一個C空白工程
2.將需要一起編譯的文件添加至上述新建工程中
3.編譯運(yùn)行即可,C++同理
C/C++多文件編譯原理
在單文件的情況下(只有一個.h和.c/.cpp)我們只需編譯該文件即可,例如:
$ gcc main.c -o main
但更多的情況下,一個工程需要分開為多個源文件,比如 main.c、a.c、b.c 等,那這種情況下是如何編譯的呢?首先要在 main.c 中調(diào)用 a.c 中的方法,必須包含 a.h 頭文件,有了頭文件中的函數(shù)聲明就確保了 main.c 的函數(shù)調(diào)用的正確性。好了,現(xiàn)在我們執(zhí)行編譯多文件命令:
$ gcc main.c a.c b.c -o main
整個編譯結(jié)果是這樣的:編譯器先把源文件見 main.c a.c b.c 獨(dú)立編譯為 main.obj a.obj b.obj 目標(biāo)文件,然后再把其中要用到的函數(shù)方法鏈接到 main.obj 來,最終打包成可執(zhí)行文件 main,這就是分離編譯和鏈接原理。
如何編譯由多個c++源文件組成的項目
在我寫數(shù)據(jù)結(jié)構(gòu)作業(yè)的時候,由于自己寫了一些需要使用的數(shù)據(jù)結(jié)構(gòu),所以源文件有如下幾個:
Main.cpp, Stack.cpp, Stack.h, Queue.cpp, Queue.h
但是當(dāng)我在IDE中編寫好源文件,想要自己來編譯的時候,我發(fā)現(xiàn)我不會處理多個源文件的情況,查找資料后有如下解決方法:
1.在同一語句中同時編譯多個源文件
g++ -Wall -g Main.cpp Stack.cpp Queue.cpp -o StackOut
生成可執(zhí)行文件StackOut
在g++編譯器中,-Wall是允許發(fā)出GCC能夠提供的所有有用的警告的參數(shù),-g是告訴g++產(chǎn)生能被GUN調(diào)試器使用的調(diào)試信息以便調(diào)試你的程序。具體各個參數(shù)的用法在這里和這里有詳細(xì)說明。
2.分別編譯多個源文件
g++ -Wall -g -c Stack.cpp g++ -Wall -g -c Queue.cpp g++ -Wall -g -c Main.cpp g++ -g Stack.o Queue.o Main.o -o StackOut
在編譯單個文件時,我試了一下,順序是任意的。如果我修改了Stack.cpp,則:
g++ -Wall -g -c Stack.cpp
g++ -g Stack.o Queue.o Main.o -o StackOut
即可。
3.編寫Makefile文件
CC = g++ CFLAGS = -Wall -g all: clean Stack.o Queue.o Main.o StackOut Stack.o : Stack.h ${CC} ${CFLAGS} -c Stack.cpp Queue.o : Queue.h ${CC} ${CFLAGS} -c Queue.cpp Main.o : Stack.h Queue.h ${CC} ${CFLAGS} -c Main.cpp StackOut : Stack.o Queue.o Main.o ${CC} ${CFLAGS} Stack.o Queue.o Main.o -o StackOut clean: rm -rf *.o rm -rf StackOut
到此這篇關(guān)于Dev-C++同時編譯多個C或C++文件方法的文章就介紹到這了,更多相關(guān)編譯多個C或C++文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
WebStorm如何調(diào)試Vue項目? webstorm配置vue開發(fā)環(huán)境指南
WebStorm 支持多種調(diào)試工具,包括瀏覽器的開發(fā)者工具,但本文主要講解的是使用 WebStorm 自帶的調(diào)試功能2025-04-15VSCode和webstorm怎么設(shè)置綠色護(hù)眼背景? 綠豆沙背景色的設(shè)置方法
護(hù)眼色一定程度能保護(hù)眼睛,緩解疲勞,VSCode和webstorm這兩款常用的軟件怎么設(shè)置護(hù)眼色呢?詳細(xì)請看下文介紹2025-04-15- WebStorm本身已經(jīng)足夠強(qiáng)大,但一些優(yōu)秀的插件能錦上添花,顯著提升開發(fā)效率,詳細(xì)請看下文介紹2025-04-15
如何安裝配置WebStorm? WebStorm安裝與使用全方位指南
WebStorm軟件在前端和后端開發(fā)領(lǐng)域都備受青睞,很多朋友不知道該怎么下載安裝,下面我們就來看看詳細(xì)的安裝配置教程2025-04-15Webstorm怎么配置? Webstorm入門之軟件配置教程
WebStorm是一款功能強(qiáng)大的集成開發(fā)環(huán)境(IDE),支持各種前端開發(fā)技術(shù),今天我們就來看看Webstorm的配置教程2025-04-15Webstorm怎么設(shè)置字體大小/背景顏色/背景圖片?
WebStorm 允許您自定義界面顏色,以創(chuàng)建更個性化和美觀的工作空間,今天我們就來看看Webstorm改變字體大小、背景顏色、設(shè)置背景圖片的方法2025-04-15- VScode上安裝PlatformIO插件能成功安裝,嘗試卸載VScode并刪除插件,這些錯誤仍然存在,下面我們就來看看這個問題的解決辦法2025-04-03
提升代碼搜索效率! VSCode里DeepSeek插件安裝與配置指南
今天我們將向大家介紹如何在Visual Studio Code中安裝并配置 DeepSeek 插件,幫助你更高效地進(jìn)行代碼搜索2025-04-07提升你的編程效率! VSCode的初級使用教程超詳細(xì)版
VSCode是一款免費(fèi)且開源的代碼編輯器,因其強(qiáng)大的功能和良好的用戶體驗而廣受歡迎,本文將詳細(xì)介紹 VSCode 的基本使用方法,并通過插圖幫助你更好地理解2025-04-03- 今天我們來聊聊如何安裝和配置VS Code,讓它成為你編程路上的得力助手,這個過程其實很簡單,只要跟著我的步驟走,你絕對能搞定2025-04-03