當前位置:首頁 » 編程軟體 » 多文件編譯

多文件編譯

發布時間: 2022-01-29 02:01:48

1. 多個cpp文件如何一起編譯

將函數的聲明放到頭文件,函數的定義放在cpp文件,之後再主函數中,將頭文件包含進來,進行聯編

2. c++多文件編譯問題

什麼錯誤? 我沒有詳細看你的代碼.

就只說一下 多文件編譯:

如果有多個文件, 每個文件中寫好了依賴關系,那麼編譯時:

1.

g++main.cpp3.cpp//默認會生成a.out(linux),在dos下默認會生成*.exe

或者 2. 先編譯每個 不含main函數的文件成 .o

g++-c3.cpp//默認會生成3.o,也可以用-o指定某個名字
//如果不只一個3.cpp,每個都要先編譯成*.o
//頭文件不用管,在文件中#include正確就行.
g++main.cpp3.o//默認會生成a.out(linux),在dos下默認會生成*.exe

3. 如何在python中實現多文件編譯

如果你要用到那個文件代碼,就在主文件里寫上import
舉個例子
A.py
B.py
我的主模塊在A里,A要調用B里的函數或者類,那麼在A中寫import B.py
這樣編譯時就會編譯用到B中的部分代碼。
另外說一句,我對python感覺是運行時用不到的代碼,它就不編譯。好像是編編譯邊執行的那種吧

4. gcc如何編譯多文件

你這里有幾處問題。

fun.h 加頭文件衛士,頭文件中聲明全局變數要用static修飾。

#ifndefFUN_H
#defineFUN_H
staticintg=10;
voidfun();
#endif

其他文件中引用這個文件的變數,extern int g;

mian.c

#include<stdio.h>
#include"fun.h"
externintg;
voidmain()
{
printf("%d ",g++);
fun();
}

5. 如何實現linux下的C++多文件編譯

要分開編譯,然後鏈接,比如
$ g++ print.cpp -c
$ g++ test.cpp -c
$ g++ test.o print.o -o mytest
這里的-c表示只編譯。因為你有兩個文件,所以編譯兩次。編譯後會生成.o的文件。
然後把這些在鏈接起來就可以了。-o表示輸出的文件。

6. c++多文件編譯

//主文件
#include<iostream>
using namespace std;
#include"C:\myC_CPP\A0201\A0201A.CPP"
void main()
{
float x=20,y=5,z;
z=add(x,y)+sub(x,y);
cout<<"z="<<z<<endl;
}
//實現文件
float add(float a,float b)
{return a+b;}
float sub(float a,float b)
{return a-b;}
已經改正可以運行了
錯誤很小
一個是
flost x=20,y=5,z;
改為
float x=20,y=5,z;
另外
#include"C:\myC_CPP\A0201\A0201A.CPP";
改為
#include"C:\myC_CPP\A0201\A0201A.CPP"
是沒有;
另外c++頭文件應該為
#include<iostream>
using namespace std;
不是
#include<iostream.h>

如上就可以運行了。
肯定如上寫是好用的,我已經運行過了,這個問題本身就不難。

7. c多個文件如何編譯

關於整個 C 語言中的主函數 main( ) 如何調用相關的頭文件(*.h)、以及調用其它獨立的模塊(*.c)的方法,關鍵在於對於如何編寫 makefile 文件的真正理解、以及真正掌握編寫規則。
由於我已經有很多年沒有編寫過 C 語言源程序、以及編寫 makefile 文件了,但是可以大概給你提供一個思路就是:

下面的文本文件假設以 my_makefile 為例,編譯環境為 Linux 系統,C 語言編譯器為 gcc。
但是在這里注意一點:我的 my_makefile 文件中的注釋語句是否是分號進行注釋,我已經不太記得了,這個需要自己再參考一下。

另外就是:對源文件(*.c)、以及生成可執行文件(my_runfile)在 my_makefile 文件中的前後次序,我也記不清了,僅供參考。
myprog1.o: myprog1.c ; myprog1.o 的生成依賴於 myprog1.c 這個源程序
gcc -c myprog1.c ; 使用 Linux 系統的 C 語言編譯器對 myprog1.c 只編譯、不鏈接
myprog2.o: myprog2.c ; myprog2.o 的生成依賴於 myprog2.c 這個源程序
gcc -c myprog2.c ;使用 Linux 系統的 C 語言編譯器對 myprog2.c 只編譯、不鏈接
my_runfile: myprog1.o myprog2.o ; 可執行文件 my_runfile 的生成依賴於 myprog1.o、myprog2.o 這兩個目標文件
gcc -o my_runfile myprog1.o myprog2.o ; 使用 cc 的 -o 選項生成用戶自定義的可執行文件:my_runfile,如果不指定 -o 選項,cc 編譯器生成的預設可執行文件名為:a.out
運行命令為:
$make -f my_makefile (使用 -f 選項代替預設的 make 文件名 makefile)

8. 關於C++多文件編譯的問題

是的只需要包含頭文件。如果要看具體問題,需要貼圖

9. c語言多文件編譯改錯

樓主..這個程序還是重寫一下吧
數組是不能在程序裡面指定大小的..必須在定義的時候就訂好大小
還有你那個排序的問題太大了...
for(a=0;a<n;a++) //n個數比n-1次就行..剩下的那個肯定是最小的..還有你那個a已經是數組了..怎麼還在這當整形用呢..太粗心了吧
for(b=0;b<n-a;b++)//n個數..要把最大的數沉底..比n-1 次就行...
{ if(a[c]>a[c+1])
{ temp=a[c];
a[c]=a[c+1];
a[c+1]=temp;
}
c++; //比完一趟之後應該把c置0
}
應該改成
for(i=0;i<n-1;a++)
for(b=0;b<n-i-1;b++)
{c = 0;
{ if(a[c]>a[c+1])
{ temp=a[c];
a[c]=a[c+1];
a[c+1]=temp;
}
c++;
}
}

樓主不要一次寫那麼多..錯了也不好查..先分成幾個寫..
建議樓主 先自己寫個排序的程序吧.. 然後再慢慢往上面加其他的吧...

10. 怎麼編譯多個c語言文件

1、如果,在一個c主程序中,以include形式包含了其他所有的引用文件,在編譯過程中,編譯器首先會將這些文件合並到一個臨時文件中,然後再對這個臨時文件進行編譯。
2、如果,是作為一個工程,編譯器會分別編譯各個獨立的文件(如果文件中有include按照上一步進行),然後再將編譯好的初步結果用鏈接程序連到一起。
簡單的說,每一個.c或者.cc都是一個編譯單元,每一個編譯單元編輯的結果是一個.o或者obj之類的中間文件,至於是否是多文件,不需要關心,但是要保證不同的編譯單元之間不要有重復的符號,這就是要避免重復包含。
每一個編譯單元生成的目標文件.o或者obj都會引用一些不在本目標文件中的符號,這些符號定義在別的.o或者.obj文件中, 鏈接器把他們聯系在一起,所有的符號也就都有定義了,編譯鏈接簡單說來就是這樣。

熱點內容
汽車貸款本人不在怎麼解壓 發布:2025-01-04 20:15:27 瀏覽:99
python3安裝flask 發布:2025-01-04 20:15:18 瀏覽:573
編譯環境在哪下載 發布:2025-01-04 20:15:15 瀏覽:936
華為伺服器雲數據遷移 發布:2025-01-04 19:55:49 瀏覽:995
綁扎搭接加密 發布:2025-01-04 19:41:52 瀏覽:475
如何設置電腦密碼時間 發布:2025-01-04 19:37:50 瀏覽:289
mupdf源碼 發布:2025-01-04 19:36:46 瀏覽:677
騰訊雲如何看雲伺服器解析 發布:2025-01-04 19:36:44 瀏覽:702
c語言入門詳解 發布:2025-01-04 19:34:17 瀏覽:429
win81的臨時文件夾 發布:2025-01-04 19:32:40 瀏覽:147