當前位置:首頁 » 編程軟體 » 可以在c語言編譯器運行的代碼

可以在c語言編譯器運行的代碼

發布時間: 2022-02-13 23:20:58

❶ 有哪些c語言代碼在C++編譯器上不能運行

c++對c語言有兼容性好不!!

❷ c語言編譯器如何運行

編譯共分為四個階段:預處理階段、編譯階段、匯編階段、鏈接階段。

1、預處理階段:

主要工作是將頭文件插入到所寫的代碼中,生成擴展名為「.i」的文件替換原來的擴展名為「.c」的文件,但是原來的文件仍然保留,只是執行過程中的實際文件發生了改變。(這里所說的替換並不是指原來的文件被刪除)

2、匯編階段:

插入匯編語言程序,將代碼翻譯成匯編語言。編譯器首先要檢查代碼的規范性、是否有語法錯誤等,以確定代碼的實際要做的工作,在檢查無誤後,編譯器把代碼翻譯成匯編語言,同時將擴展名為「.i」的文件翻譯成擴展名為「.s」的文件。

3、編譯階段:

將匯編語言翻譯成機器語言指令,並將指令打包封存成可重定位目標程序的格式,將擴展名為「.s」的文件翻譯成擴展名為「.o」的二進制文件。

4、鏈接階段:

在示例代碼中,改代碼文件調用了標准庫中printf函數。而printf函數的實際存儲位置是一個單獨編譯的目標文件(編譯的結果也是擴展名為「.o」的文件),所以此時主函數調用的時候,需要將該文件(即printf函數所在的編譯文件)與hello world文件整合到一起,此時鏈接器就可以大顯神通了,將兩個文件合並後生成一個可執行目標文件。

❸ C語言的代碼編輯器怎麼用

C語言的代碼編輯器一般使用UE,以下介紹UE的使用方法:
1、在UE上用的最多的是c語言,這里,就以c語言作為參考,看看UE的強大的操作功能。打開一個c語言文件。文件-- 打開--選擇。
2、這個時候,可以看到它的函數功能和上面的快捷方式的圖標是可以使用的。函數列表可以在視圖--視圖列表--函數列表中找到。
3、然後,可以使用ue的查看方式,這里是默認為c語言格式,還可以設置為c#,java等格式,這樣可以把部分信息高亮顯示。還可以在:視圖 --- 查看方式-----編碼方式中找到。
4、比較功能和16進制功能,這個是很強大的工具。因為,在上線的時候,不知道修改了什麼就可以使用這個進行查看,還有,在linux下炒作的時候,16進制就可以看到文件中的字元編碼,找到最終的錯誤原因。
5、還有就是ue的列模式,這個模式對於編程來說,簡直逆天,當有些數據需要進行修改的時候,只是改某些列中的部分,這個就非常好用了。直接修改多列。這也是ue的一個特色吧。
6、強大的ftp功能,一般可以使用ue直接在ftp伺服器上直接編輯文件,然後,直接保存在伺服器上,這樣呢,可以減少代碼的本地管理和版本控制。
7、普通文件操作可以在快捷方式中使用新建,保存等功能,可以使用字數統計功能,具體的字數在狀態欄中有顯示。

❹ C語言代碼,怎麼運行。

1、創建一個文件名為main.c,然後用任意一個款你熟悉的文本編輯軟體,比如說記事本,在裡面輸入下面的代碼,記住,要用文本文件編輯軟體,不能用word的。

(4)可以在c語言編譯器運行的代碼擴展閱讀:

c語言小游戲實現原理

1、二維數組實現棋盤

二維數組,用兩個for 循環,隨便輸出一個固定符號做棋盤,如 *

2、判定玩家

設計一個計步變數step, 每走一步 step++, 則玩家=step%2+1;

3、判定輸贏(重點)

設計方向數組 dircX[4] ,dircY[4],因為如果要判斷是否練成五子,只有1豎著2橫著3斜下4斜上

豎著的話就是 x-1,y不變

橫著的話就是x不變,y+1; 斜下: x+1,y+1; 斜上 x-1;y+1

這樣你就可以賦值dircX={-1,0,1,-1} dercY={0,1,1,1}

每當玩家落下一子,就全局判斷每個子的四個方向有沒有第二子,如果有,循環判斷有沒有第三子(利用 x+=dircX[1]),直到五子完成,結束。

❺ 為什麼c語言的編譯器可以用c語言來寫

所謂C語言編譯器,就是把編程得到的文件,比如.c,.h的文件,進行讀取,並對內容進行分析,按照C語言的規則,將其轉換成系統可以執行的二進制文件。
其本質在於對文件的讀入,分析,及處理。這些操作,C語言都是可以實現的。
所以用C語言來做C語言的編譯器是完全可行的。

但是,歷史上的第一個C語言編譯器,肯定不是C語言寫的,因為在沒有編譯器時,無法把C語言轉換成可執行文件。
只要有了第一版其它語言的編譯器,就可以用C語言寫編譯器了。
事實上,目前大多數的C語言編譯器,都是用C語言寫的。

❻ c語言直接編寫出的程序在哪個操作系統可以直接運行

說實話我覺得樓主你對C的這些基本概念理解還存在著些偏差,首先你問題中所說的話:c語言直接編寫出的程序在哪個操作系統可以直接運行?我可以很負責人的告訴你目前沒有任何一個操作系統能直接運行C語言。C語言是高級語言,OS必須把它編譯成機器語言計算機才能運行,VC之所以大,是因為他是studio,集編輯器、編譯器、運行調試bug、UI界面等等於一身的集成式開發環境,VC中編譯器最重要,其他都是為了使程序猿更加方便。
至於樓主說的可以直接「運行」C的,我估計是想表達LINUX吧,LINUX王牌GCC,LINUX操作系統中的NC編譯器GCC,GUN compiler collection,這是一個純編譯器,可編譯 C,C++,java等高級語言,在linux下你可以使用任何第三方編輯器編寫你的code,如VI,VIM等,例如你便攜test.c然後在shell下用:gcc -o test test.c命令進行編譯,編譯完成後繼續輸入./test就運行test這個C程序了。其實gcc標準的編譯器在win下也有,但還是建議樓主真心想學linux下的編程的話就去裝個linux吧,ubuntu是比較流行的,現在內置gcc了,不用自己在make了。
集成式開發環境是win下比較盛行的方法,在linux下大家還是都喜歡自己便攜make等文件進行在shell下運行的編程,但linux下也有款不錯的集成開發工具,code::blocks,我一直都是用的這款,比VC好百倍,各種人性化,也不大,方便安裝。
所以win下你可以安裝code::blocks,想試一下linux下就裝下ubuntu,用VIM,VI,EMACS等專業代碼編輯器,用SHELL界面運行GCC來編譯你的代碼,在SHELL下運行,哈哈,整個過程都是很有范兒的敲代碼,很有程序員的范兒,還是推薦樓主了解下linux下的編程吧,雖然你可以不選擇在這個平台上的編程,但了解下會更有助你掌握編程的理念

有疑問請追問,期待你的追問~

❼ c語言能在那些平台運行

能進行C語言編程的平台有很多,常用的有:Microsoft Visual C++、Microsoft Visual C++.NET、Turbo C、Borland C++ Builder 等。在NOIP(全國青少年信息學奧林匹克聯賽)中用來C語言編程的平台有Dev-C++、RHIDE Windows版,所用的編譯器為gcc 3.4.2。

❽ 請問 哪裡可以下載c語言代碼 那種可以放在編譯器里直接運行的那種啊

去開源社區吧
開源就是開放源代碼
裡面有各種各樣的項目源代碼
不過你要看得懂才行

一些開源代碼託管網站如
github.com
bitbucket.org
當然也包括國內的開源中國等
裡面代碼有很多很多

❾ 易語言怎麼調用c語言編譯器來運行程序代碼 ! 急!謝謝回答者!說詳細些

如果易語言編譯器容許您,那麼就是可以的,例如keilc51編譯器和常用調試arm裸機程序,是可以在c語言語句中加入匯編語言。

由於本人不了解易語言,無法確定其編譯器是否可以編譯c,但估計是不行。

那麼說回來,如果這樣,程序就沒法寫了。實際大家是怎麼做的呢。通常做法是將c語言程序編譯成dll文件,也就是我們所謂的庫文件。然後就可以實現調用了。這種文件我們經常會在常見的程序中看到,原因就是代碼保密性好,並且更新很方便,關鍵在於可以多種語言交互。

當然了,也可以吧所謂的易語言封裝成dll,被c調用,當然如果他有這項功能的話。

如果一個c語言已經編譯成可執行程序了,比如exe文件,那麼易語言端應與c語言端進行進程通信,方可實現數據交互。那麼進程通信就有多種方式,那麼就不贅述了。

說下DLL的封裝,如果是c語言我們需要加入dll.h

dll.h中放入以下語句

#ifndef_DLL_H_
#define_DLL_H_
#ifBUILDING_DLL
#defineDLLIMPORT__declspec(dllexport)
#else/*NotBUILDING_DLL*/
#defineDLLIMPORT__declspec(dllimport)
#endif/*NotBUILDING_DLL*/
DLLIMPORTvoidHelloWorld(void);
#include"func.h"
#endif/*_DLL_H_*/
程序中的,DLLIMPORTvoidHelloWorld(void);,#include"func.h"是例子,就是放你書寫的用c寫的函數聲明的地方。
而在你c語言原先放主函數的那個文件中應該寫入以下內容
/*Replace"dll.h"withthenameofyourheader*/
#include"dll.h"
#include<windows.h>
#include<stdio.h>
#include<stdlib.h>
BOOLAPIENTRYDllMain(HINSTANCEhInst/*Libraryinstancehandle.*/,
DWORDreason/*.*/,
LPVOIDreserved/*Notused.*/)
{
switch(reason)
{
caseDLL_PROCESS_ATTACH:
break;
caseDLL_PROCESS_DETACH:
break;
caseDLL_THREAD_ATTACH:
break;
caseDLL_THREAD_DETACH:
break;
}
/*ReturnsTRUEonsuccess,FALSEonfailure*/
returnTRUE;
}

我們看見有很多case,也有很多傳入參數,最初可以不用管它,也可以使用。如需詳細配置,應自行梳理再做決定。

另外一點,對於高級語言和c語言清理現場的問題,也就是被調用函數結束後由被調用函數清理棧,還是由下一個被執行函數清理上一個函數的棧,這點很重要。兩種不同的調用方式將導致你雖然可以調用dll,但可能數據出錯。這個問題可以說在VB與C的交互上面就可以體現了。__cdecl這個就是默認c語言的棧處理方式。__stdcall是VB的處理方式,那麼對於易語言,請您詳細查看後再做定論。

那麼具體在c語言中提現就是,我們需要在函數前面加上__stdcall以告知編譯器採用此類編譯方式,應用方法就如下面的聲明。

#ifndef_FUNC_H_
#define_FUNC_H_
#include"dll.h"
#include<winsock2.h>
#include"var.h"
DLLIMPORT__(int*PercentNum,int*FileID,int*PackageID);
DLLIMPORT__stdcallintGetInfoNum(intMode);
DLLIMPORT__stdcallvoidPutInfoNum(intInfoNum,intMode);
DLLIMPORT__stdcallvoidDemo0(void);
DLLIMPORT__stdcallvoidDemo1(void);
DLLIMPORT__(void);
DLLIMPORT__(void);

#endif/*_FUNC_H_*/

我聽說VB和易語言有相似之處那麼我給出VB調用C語言DLL時候的函數書寫例子,以便您參考。

PublicClassForm1

PrivateDeclareSubNetToWorkLib"Client.dll"(ByValIpAddrAsString,ByValPortAsInteger,ByValModeAsInteger)

"Client.dll"(ByValStrAsString,ByValModeAsInteger)AsInteger

"Client.dll"(ByValStrAsString,ByValModeAsInteger)AsInteger

"Client.dll"(ByValModeAsInteger)AsInteger

"Client.dll"(ByValInfoNumAsInteger,ByValModeAsInteger)

PrivateDeclareSubDemo0Lib"Client.dll"()

PrivateDeclareSubDemo1Lib"Client.dll"()

.........

...

..

...

PrivateSubToolStripButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesToolStripButton1.Click
'從text搜索關鍵詞並讀取回鏈表數據
DimStrAsString
If(ToolStripTextBox1.Text="")Then
MsgBox("內容不能為空")
Else
Str=ToolStripTextBox1.Text
StrToStruct(Str,SEND_SEARCH_0200)
DimTh0AsThreading.Thread
Th0=NewThreading.Thread(AddressOfDownFileList)
Th0.Start()
EndIf
EndSub

....

..

上程序但中StrToStruct(Str, SEND_SEARCH_0200)就是一個典型的VB調用DLL函數的例子。

那麼如果給些相關的參考資料(C語言封裝DLL以及VB調用的問題)

http://www.aidianying123.net/article/?29.html

以便您對此更加了解。

❿ 求C語言編譯器代碼

c語言編譯器源代碼
運行環境:9x/Me/NT/2000/XP/
源碼語言:簡體中文
源碼類型:編程源碼 - VC++源碼
下載地址:http://down2.newasp.net/code/vc/cvery_4136142.rar
或:http://www.newasp.net/code/vc/2445.html

visual c++ 功能強大,不過需要的容量也很大 ,
TC2.0也不錯 很適合初學者 不過不是很標准 下面有它們的下載網站 你自己根據自己的情況,自己選擇吧,我的建議是VC6.0

TC2.0的:
http://218.64.170.103/dload1.html?cid=

http://218.64.170.103/dload1.html?cid=

VC6.0 的:
http://218.64.170.103/dload1.html?cid=

http://218.64.170.103/dload1.html?cid=
-----------------------------------
TC 比較基礎,運行也比較快,但是是DOS界面
win-tc 是tc的windows版本,圖形化界面,很好使用。
VC 適合windows平台。集成開發環境。調試方便。
[
在http://msdn.microsoft.com/visualc/vctoolkit2003/
網站點擊( Download the Visual C++ Toolkit 2003 )
]
GCC 用於Linex,但是也有windows版本。移植性比較好
另外還有c-free,div c等,也可以在windows下使用

熱點內容
ecstore資料庫 發布:2025-01-13 07:29:43 瀏覽:295
手機設置密碼忘記了怎麼解開 發布:2025-01-13 07:28:29 瀏覽:19
存儲卡交流 發布:2025-01-13 07:16:06 瀏覽:983
php字元串浮點數 發布:2025-01-13 07:15:28 瀏覽:997
python排序cmp 發布:2025-01-13 07:09:04 瀏覽:71
雲腳本精靈 發布:2025-01-13 07:03:27 瀏覽:618
高維訪問 發布:2025-01-13 07:03:23 瀏覽:975
保衛蘿卜有腳本嗎 發布:2025-01-13 06:30:29 瀏覽:742
天貓上傳 發布:2025-01-13 06:06:35 瀏覽:156
php處理並發 發布:2025-01-13 06:03:44 瀏覽:283