① c++中的編譯,構建各是起什麼作用
編譯:把當前源代碼編譯成2進制目標文件
構建:先把工程中所有源代碼編譯成目標文件,再link鏈接成可執行文件(或者lib、dll,看具體工程)。這其中,如果有源文件在此之前被單獨編譯過,這個文件就不參加編譯,它之前編譯時產生的目標文件參加link(鏈接)過程。
重新構建:就是不管之前有沒有源文件被單獨編譯,都要參與編譯。
不同的C++編譯環境可能不一定叫構建,但都有類似的功能。
② c語言中編譯和組建有什麼區別急急急!!
你說的編譯就是把你編寫的c語言轉換為二進制的計算機語言,然後是執行,執行就是執行剛才得到的二進制的語言。其實就是經過編譯產生.OBJ文件,再將編譯產生的.obj文件輸入內存與系統提供的庫函數連接,得到可執行文件.exe,最後將可執行文件.exe調入內存並使之運行。。。
③ 編譯和組建
先編譯後組建,編譯檢查程序語法生成obj文件,組建是把編譯生成的obj文件組建成exe文件。
④ C語言入門,請問VC6.0中「組建」中的1.編譯「.c」與2.組建「.exe」有什麼區別和關系。
.c是c語言源文件,要經過編譯後才能生成可執行文件,根據你選擇的編譯工具不同,生成的可執行文件也不同。.exe是window下的可執行文件格式。你的.c源文件可以使用GCC編譯,也可以在windows下生成.exe文件。組建,先Compile生成.obj再Link生成.exe。
總的來說.exe就是你的.c編譯後生成的可執行文件。
原創,望採納。
⑤ 關於 C語言中的「編譯」和「組建」的問題。
如果沒有加stdlib.h,在編譯階段編譯器認為system是沒有聲明過的表示符,但是這是一個函數,所以編譯器默認這個函數是外來的(也就是說不是你自己寫的),並且默認其返回值是int,把這些信息寫到編譯的目標代碼里
給你一個警告是因為未聲明的函數既有可能是你忘記聲明外部的函數,也可能是你自己筆誤,不論哪種情況都不是什麼好事
而在連接階段,連接器會在連接的標准庫里找到system這個函數,所以連接的時候沒有任何問題
再給你一個例子,可以避免以後不必要的錯誤
#include<stdio.h>
#include<math.h>
int main()
{
printf("%f\n", sqrt(2.0));
return 0;
}
比如你漏了第二行的math.h,那麼編譯器在sqrt(2.0)的地方也會給警告,連接的時候看上去也沒問題,但是這時候你有可能得不到想要的結果(取決於編譯器是否能猜出sqrt是標准函數),因為sqrt本應該返回double,編譯器卻默認其返回int
⑥ C語言中構建文件和編譯文件有什麼區別拜託,謝謝
不大清楚LZ的問題實質
但是可以簡單說 編譯過程是把你編寫的程序 轉化成一種可執行文件 在電腦上運行。
構建 可能是構建某種工程或者系統吧? 更多的側重在各個執行文件的搭配 相互調用上吧
希望有用
⑦ vc++6.0中組建和編譯有什麽區別
組建是指把你的程序中涉及的子程序給調用出來,成為整體,編譯指把你的程序改編成計算機能讀懂的二進制語言
⑧ 組建與編譯的區別
build 相對於 整個工程
compile 相對於 單個文件
如果整個工程就一個文件,那沒有區別。
如果整個工程很多文件,區別就出來了。
每次完成改動單個文件後 compile 單個文件。
都寫完了,想要執行,一次性build。
build還會照顧好只compile你沒compile卻改動了的文件。所以也可以理解為compile縮短了一次性build的時間
⑨ 什麼是編譯和構建德爾福之間的區別
因為一個程序有很多文件組成,叫工程 編譯,是編譯工程的當前文件,其他文件不編譯,如果單文件,則會生成可執行程序。 構建,會編譯工程中的未編譯和已改動文件,並生成可執行程序