欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

  發(fā)布時間:2020-03-21 23:31:09   作者:佚名   我要評論
這篇文章主要介紹了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)文章

最新評論