① windows怎麼編譯.c文件
(1)先用記事本編寫如下所示的代碼,並另存為hello.cpp,假設其保存路徑為
C:\Users\Administrator\Desktop。
#include<iostream>
using namespace std;
int main()
{
cout<<"hello world!"<<endl;
return 0;
}
(2)用記事本寫一段簡單的批處理文件,內容如下所示,在保存文件時選擇另存為,文件名
假設為batch.bat,bat是批處理文件的後綴,保存類型選擇:所有文件(這個尤其需要注意),
假設其保存路徑也是:C:\Users\Administrator\Desktop。
set path=D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\bin
set include=D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\include
set lib=D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\lib
上面批處理文件的第一句話表示設置環境變數,這個也可以通過:計算機/屬性/高級系統設置/
環境變數/用戶變數,把D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\VC\bin
放到path的值里去,記得與之前已有值之間用";"隔開。這個path文件夾是我們裝載VS2010時自
帶的,在設置路徑時要根據自己的安裝路徑進行修改,裡麵包含微軟在Windows下給我們提供的
C/C++編譯器cl.exe程序(編譯器自身也是一個軟體程序,只是它的作用是用來編譯其它的程序),
當然還有link.exe鏈接程序,調用cl時,系統會自動調用link程序(後面將看到我們只用了cl命令就
可以進行C/C++程序的編譯、鏈接)。後面兩句話分別表示包含C++中自帶的頭文件庫和靜態鏈接
庫,靜態理解庫包含了頭文件中函數對應的實現部分,為了不讓人們看到其中的源代碼,它以二進
制文件形式編碼,若要查看其內容需要進行反匯編。
(3)通過cmd命令進入DOS操作界面,輸入cd C:\Users\Administrator\Desktop進入cpp文件和bat
批處理文件所在的位置,然後鍵入batch.bat進行批處理,這些操作在VS2010集成開發環境中都為我
設置好了,所以我們在裡面寫C/C++程序時並沒有這樣設置路徑的繁瑣操作,但是通過自己手動的
路徑設置,我們會對程序的編譯、鏈接、執行有更加深入的認識。
(4)鍵入cl hello.cpp,我們會看到計算機報出了「無法啟動此程序,因為計算機中丟失mspdb100.dll。
嘗試重新安裝該程序以解決此問題」的系統儲物,dll文件是動態鏈接庫文件,其是在cl.exe程序運行時
才被載入進來的文件,這個靜態鏈接庫lib文件不同。這說明在D:\Softwares\en_Visual_Studio2010_
Professional_x86_x16-81637\VC\bin路徑里沒有找到mspdb100.dll,原來此文件在文件夾D:\Softwares\
en_Visual_Studio2010_Professional_x86_x16-81637\VC\Common7\IDE里,我們可以將此文件拷到bin
文件夾里,或將D:\Softwares\en_Visual_Studio2010_Professional_x86_x16-81637\Common7\IDE加到
批處理的path環境變數里,或者將其加到cpp文件所在的文件夾里,這只會引起在搜索順序上的不同。
(5)再次鍵入cl hello.cpp,我們看到在C:\Users\Administrator\Desktop文件夾里得到了hello.obj文件,
這是編譯後的輸出文件,但是沒有得到可執行exe文件,DOS界面里出現這樣的錯誤「LINK:fatal error LNK
1104:cannot open file 'kernel32.lib' 「這樣的鏈接錯誤,kernel32.lib是Windows系統文件,通過Windows
自帶的搜索工具,我們看到此文件在文件夾C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib里,我們
可以將其加到cpp文件所在的文件夾或bin文件里。再次鍵入cl hello.cpp,我們發現這次程序被成功編譯鏈接
了,cpp文件所在的文件夾里多了兩個文件:hello.obj和hello.exe。
(6)在DOS界面鍵入hello.exe,程序被執行,輸出了我們預想的hello world!,至此,在Windows下模擬
linux命令行操作,編譯C/C++文件全部完成了。
② 程序中只要安裝任意一中編譯程序,就能對C程序進行編譯嗎
不是,必須是C,C十十,C#等至少兼容C語言的編譯程序,才行。編譯程序,是針對某種或者某幾種計算機語言的,不是萬能的。目前GCC支持的語言最多。
③ 計算機二級c語言可以編譯嗎
可以編譯執行
不過在時間內,提交程序之前
提交之後,再修改也不算了
現在是在win下編,原來是在dos下編~~
只要沒得到預期的結果,就不得分
④ c語言中的函數可不可以單獨進行編譯
是可以的。
庫函數是把函數放到庫里,供別人使用的一種方式。函數庫是由系統建立的具有一定功能的函數的集合。庫中存放函數的名稱和對應的目標代碼,以及連接過程中所需的重定位信息。用戶也可以根據自己的需要建立自己的用戶函數庫。
使用C語言的語句直接計算sin或cos函數,就需要編寫頗為復雜的程序。因為C語言的語句中沒有提供直接計算sin或cos函數的語句。又如為了顯示一段文字,我們在C語言中也找不到顯示語句,只能使用庫函數printf。
(4)電腦c程序可以編譯嗎擴展閱讀
函數庫的分類
1、字元串、內存和字元函數
需要的包含文件:string.h、mem.h、ctype.h或string.h;
2、數學函數
需要的包含文件:math.h;
3、動態存儲分配
需要的包含文件:alloc.h或stdlib.h ;
⑤ 後綴為.c的C語言源程序可以單獨進行編譯嗎
1、可以進行編譯。
2、C語言源程序後綴為.c ,在windows平台上,編譯後的後綴為.obj,連接後的後綴為.exe。在Linux平台上,預處理後的文件擴展名一般為.i,C語言編譯器編譯後的文件擴展名一般為.S,是一個匯編代碼文件,匯編器編譯後的文件擴展一般為.o,鏈接器生成的可執行文件默認為.out。
⑥ c語言程序如果沒有編譯軟體能編譯嗎
不可以,不同的平台都是不一樣的,linux,windows,mac的C語言顯示都不一樣,win是個黑框,二其他不是。
而且,win編譯後的C語言linux和mac都無法識別,未編譯的C語言就是相當與txt文件啊(後綴.c),你打算怎麼用?
⑦ 為什麼在windows下不能直接編譯運行c或c++程序,而它系統本身不就是用c語言寫的嗎
其實你是把商業問題和技術問題混為一談了。
首先,Windows不是純C語言編寫的,應該說是類C語言編寫的。
其次,不是不能運行C語言的程序,也不是沒有編譯器。而是運行自定義C或者C++程序是一個功能,這個功能的實現所需要的開發費用是非常高昂的,而且售出的比較少。
所以實際上C和C++的編譯器比Windows要貴很多。如果把編譯器成本分攤到Windows里,又會增加Windows的價格。
這些實際上是商業策略,需要很久才能理解。
⑧ C語言怎麼編譯呀
在本機上搭建IDE開發環境,在IDE中導入編譯器,就可以本地編譯了。
把代碼在本地寫好,編譯過之後,運行樣例沒問題後,再上傳的網站上,網站上是有編譯器的,你選擇之後會自動編譯。
⑨ 急急急!!!!!考全國計算機二級C語言上機時,可以進行編譯執行嗎
1、在考上機考試時,能不能對已經修改好或已經填好空或是已經編好的程序進行編譯和執行操作?這樣做會不會被扣分?
這是當然的,你必須自己手動完成每個問題。
2、下面這些語句是用來做什麼的?
這是一個void型的函數,用於打開文件,輸入數據,調用函數,輸出數據,關閉文件。
FILE
*rf,
*wf
;
這是證明文件指針。
3、如果編譯沒有錯誤,但是執行時出現錯誤,會不會得分?
沒有語法、邏輯錯誤才不扣分。
孩子,你還沒明白編譯器,那個東西不可靠,OBJ必須連接才能運行(即沒有語法錯誤),編譯、廉潔都是語法的部分,你一定是有語法錯誤,才導致這個現象。一定的,你把代碼發給我,我幫你看看。考試一定扣分。
4、各位建議在clrscr()函數
加上
include,但是考試說明了:只在指定的范圍更改或填空或編程,但clrscr()函數不在指定的范圍,這樣做行嗎?
不行,也很少見到這個情況,反正我幾乎沒見過添clrscr()的。
⑩ C語言既可以編譯執行又可以解釋執行嗎 編譯執行怎麼解釋 解釋執行又怎麼解釋
C 語言程序僅可以解釋執行。
解釋程序是將源程序(如BASIC)作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。編譯程序是把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機執行這個目標程序,得到計算結果。
相對於編譯性語言,其優點是可移植性好,只要有解釋器環境,程序就可以在不同的操作系統上運行。
缺點是代碼需要有專門的解釋器,在程序運行時,除要給用戶程序本身分配內存空間外,解釋器也佔用系統資源,所以其運行速度較慢。另外,也很難達到像C、C++那樣操作系統底層操作的目的。
解釋型語言常用於,一是對運行速度要求不高(如一些網頁腳本等)的場合,二是對跨平台(操作系統的兼容性)有要求的場合。
(10)電腦c程序可以編譯嗎擴展閱讀
1、Python和Java語言,專門有一個解釋器能夠直接執行Python程序,每個語句都是執行的時候才翻譯。
2、Python代碼在運行前,會先編譯成中間代碼,每個 .py 文件將被換轉成pyc 文件,pyc 就是一種位元組碼文件,它是與平台無關的中間代碼。不管放在 Windows 還是 Linux 平台都可以執行,運行時將由虛擬機逐行把位元組碼翻譯成目標代碼。