編譯tcc
Ⅰ 如何讀取tcc.exe編譯文件時的錯誤信息
我用C#寫的 首先你需要把turbo c的系統環境變數(path)設置一下
public string RunCmd(string command)
{
Process p = new Process();
//Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
p.StartInfo.FileName = "cmd.exe"; //設定程序名
// p.StartInfo.Arguments = "/c " + command; //設定程式執行參數
p.StartInfo.UseShellExecute = false; //關閉Shell的使用
p.StartInfo.RedirectStandardInput = true; //重定向標准輸出
p.StartInfo.RedirectStandardOutput = true; //重定向標准輸出
p.StartInfo.RedirectStandardError = true; //重定向錯誤輸出
p.StartInfo.CreateNoWindow = false; //設置不顯示窗口
p.Start(); //啟動
p.StandardInput.WriteLine("tcc " + command); //用tcc命令將文件進行編譯 ,command是文件路徑
p.StandardInput.WriteLine("exit");
cmdend();
return p.StandardOutput.ReadToEnd(); //從輸出流得到命令行結果
}
private void cmdend()
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false;
p.Start();
p.StandardInput.WriteLine("cmdend");//cmdend.bat 文件裡面內容 taskkill /f /im cmd.exe
}
Ⅱ C璇璦鍏ラ棬錛岀敤浠涔堢紪璇戝櫒姣旇緝濂斤紵
姝ュ叆C璇璦鐨勪笘鐣岋紝瀵繪壘浣犵殑鏈浣崇紪璇戝櫒涓嶪DE浼欎即
緙栫▼涔嬭礬濮嬩簬閫夋嫨錛屽逛簬鍒濆﹁呰岃█錛岄夋嫨涓嬈懼悎閫傜殑緙栬瘧鍣ㄥ拰闆嗘垚寮鍙戠幆澧冿紙IDE錛夊挨涓洪噸瑕併傝╂垜浠娣卞叆鎺㈣ㄥ嚑涓澶囧彈鎺ㄥ磭鐨勯夐」錛屽府浣犺交鏉捐搗姝ャ
緙栬瘧鍣ㄧ瘒
1. Tiny C Compiler (TCC): 璁╂柊鎵嬪叆闂ㄧ殑涓嶄簩涔嬮夛紝TCC浠ユ儕浜虹殑緙栬瘧閫熷害钁楃О錛屾棤闇鎷呭咖鎬ц兘褰卞搷錛屽畠浠ョǔ瀹氬拰楂樻晥钁楃О錛屾槸鍒濆﹁呯殑緇濅匠璧風偣銆
2. GNU C Compiler (GCC): 鉶界劧涓嶆槸涓繪祦錛屼絾GCC鍥犳敮鎸佷紬澶氱壒鎬ц屽囧彈灝濊瘯錛屽敖綆″瓨鍦ㄤ竴浜涘巻鍙查仐鐣欓棶棰橈紝浣嗗畠鍦ㄧ壒瀹氬満鏅涓嬩粛鍊煎緱涓璇曘
3. Microsoft Visual C++ Compiler (MSVC): 浣滀負Windows騫沖彴涓婄殑鑰佺墝鐜嬭咃紝MSVC鍑鍊熷氬勾鐨勬妧鏈縐緔錛屽挨鍏舵槸浠嶣orland鎸栨潵鐨勫洟闃燂紝濡備粖鍦ㄧǔ瀹氭у拰鍏煎規т笂琛ㄧ幇鍑鴻壊錛屾槸涓嶪DE鎼閰嶇殑棣栭夈
4. LLVM/Clang: 楂樼涔嬮夛紝鏁堢巼鍜岄熷害騫墮噸錛岀壒鍒閫傚悎榪芥眰楂樻ц兘鐨勫紑鍙戣咃紝Visual Studio鏂扮増鏈涔熸敮鎸佸叾瀹夎咃紝濡傛灉浣犺拷奼傛瀬鑷存ц兘錛孋lang鏄涓涓嶉敊鐨勯夋嫨銆
IDE綃
1. Visual Studio: 鏃犻渶榪囧氳禈榪幫紝Visual Studio鏃犵枒鏄疘DE涓鐨勭繕妤氾紝2017鐗堟湰錛圴isual Studio 2017錛夋敮鎸丆++17錛岃櫧鐒舵湁鏃舵洿鏂板甫鏉ュ皬闂棰橈紝浣嗗逛簬鍒濆﹁呭拰Windows鐢ㄦ埛錛岀ぞ鍖虹増鐨勫厤璐圭増鏈鏄寮虹儓鎺ㄨ崘鐨勩
2. CLion: 鉶界劧鏀惰垂錛屼絾鐟曚笉鎺╃憸錛岃法騫沖彴鏀鎸佷嬌寰桵ac鐢ㄦ埛涔熻兘浜鍙楋紝鐩歌緝浜嶸S鐣ラ婁竴絳癸紝浣嗘暣浣撴ц兘浼樼銆
3. Eclipse: 鉶界劧瀹夎呰繃紼嬪彲鑳界箒鐞愶紝浣嗕綔涓烘浘緇忕殑Java涓誨姏IDE錛岀幇鏀鎸丆/C++錛屽挨鍏舵槸鎼閰峂ingw x64緙栬瘧鍣錛孍clipse浠嶇劧鍊煎緱鎺ㄨ崘銆
4. Code::Blocks: 閫傚悎瀛︽牎鏁欏︼紝寮婧愪笖鏀鎸佸氱嶇壒鎬э紝浣嗗規柊鎵嬫潵璇達紝鍏墮敊璇鎻愮ず鍙鑳戒笉澶熸槑紜錛岄櫎闈炴湁鐗規畩闇奼傦紝鍚﹀垯涓嶆槸棣栭夈
5. Notepad++: 鉶界劧鑳藉彉鎴愮畝鍗旾DE錛屼絾鐩告瘮鍏朵粬閫夐」錛屾帹鑽愮▼搴﹁緝浣庯紝闄ら潪浣犵壒鍒鍠滄㈠叾瀹氬埗鍖栥
6. Visual Studio Code: VS鐨勮法騫沖彴鐗堟湰錛屽厤璐逛笖鍔熻兘寮哄ぇ錛岃櫧鐒舵湁灝戣稿崱欏匡紝浣嗗逛簬Linux鐢ㄦ埛鎴朚ac鐨勮交搴﹀紑鍙戣咃紝瀹冩槸涓涓嶉敊鐨勯夋嫨銆
7. Qt Creator: 綆媧佷笖鏀鎸丵t搴旂敤寮鍙戱紝閫傚悎鏈変竴瀹氱粡楠岀殑寮鍙戣咃紝浣嗗瑰垵瀛﹁呮潵璇達紝閰嶇疆榪囩▼鍙鑳界暐鏄懼嶆潅銆
8. Dev-C++: 瀵逛簬鍠滄VC6鐣岄潰鐨勫嶅彜媧撅紝Dev-C++浠ョ畝鍗曡憲縐幫紝浣嗗姛鑳界浉瀵硅緝灝戙
9. C4Droid 鍜 CPPDroid: 鍊懼悜浜庣Щ鍔ㄥ紑鍙戱紝鎵嬫満鍜屽鉤鏉誇笂鐨凜璇璦IDE錛屽挨鍏墮傚悎鍦ㄧЩ鍔ㄨ懼囦笂緙栫▼銆
緇撹
鍦╓indows涓婏紝灝界GCC鍙鑳介渶瑕侀濆栭厤緗錛屼絾涓嶅簲璁╅厤緗甀DE鎴愪負瀛︿範鐨勯噸鐐廣傞夋嫨涓嬈句笌浣犵殑鐩鏍囧拰闇奼傜浉鍖歸厤鐨勭紪璇戝櫒鍜孖DE錛屽皢鏈夊姪浜庝綘鏇翠笓娉ㄤ簬璇璦鏈韜錛屼負浣犵殑C璇璦涔嬫棶濂犲畾鍧氬疄鍩虹銆
Ⅲ 安卓c語言編輯器怎麼用
c4droid是款Android設備上的C/C++程序編譯器,默認以tcc(tiny c compiler)為編譯器,可以選擇安裝gcc插件(20mb,只有root用戶可以使用),選用gcc後,可以用sdl(簡單直控媒體層庫,需安裝sdl plugin for c4droid)和qt(nokia官方開發庫,需安裝sdl plugin for c4droid)。也可以開發native android app(需安裝sdl plugin for c4droid),就像google ndk一樣。軟體支持代碼高亮,編譯時間隨cpu主頻而定,主頻越高編譯越快。gcc插件版本4.7.2提供了示列程序,包含sdl,android native,qt和命令行測試程序源碼。
安裝:
先安裝主程序,然後在安裝三個擴展庫。
c4經常遇到的問題及其解決方法:case 1:為什麼每一次點run總會提示permission。。。。的啊?
因為你沒有root,如果root了還出現說明你是android2.2或者2.3.4,此時換一個刷機包就ok了。
case 2:我安裝上了gcc,並且把編譯器調成gcc了,但是每次 #include<SDL.h> 都會說「no such file or directory!」
你試試寫成「#include <SDL.h>」(include和<>之間加一個空格),這才是標准寫法,不這樣寫默認為terminal 模式。
使用:打開主程序,代碼敲好以後,點擊Compiled,也就是編譯,如果出現Successfully compile 如圖那樣的則代表編譯成功了。如果有錯誤則會出現error,我們根據提示,自己找到錯誤的地方。編譯好以後,點擊run就可以運行了,和電腦一樣。
c4droid還支持保存代碼,編寫好以後可以點擊save保存。
c4droid還支持打開代碼文件,可以是txt格式也可以是無格式文本。
Ⅳ c++編程用什麼軟體好
c++編程用以下幾個軟體好:
1、Ccache:Ccache是為了減輕一些編譯負擔,它是一個緩存,可以保存編譯代碼以便重用。不支持編譯器的某些命令行命令,當Ccache無法知曉下一步該做什麼時,它將返回原始編譯器。
2、TCC:「T」代表「小」,「CC」代表「C編譯器」。簡單的C應用程序在一分鍾之內就可以編譯並運行,足夠快以致可以使用C應用程序作為腳本。
3、Cpi:一個超級C++編譯器,允許適度的C++程序像腳本一樣執行。
4、Kcgi:對於習慣在Web應用程序中使用C編程語言,並對速度有所要求的程序員,可以考慮使用kcgi庫。它提供了一組用於接收HTTP請求,解析,返回標頭和正文以及獲取和設置Cookie的原語。
5、Pycparser:Python的解釋器是用C編寫的,可以接受C擴展。為此,一些項目可以彌合兩者之間的差距,Pycparser就是其中之一,但不能運行C本身。相反,它提供了C語言解析器的純Python實現。感興趣的話點擊此處,免費學習一下
想了解更多有關c++的相關信息,推薦咨詢達內教育。達內教育已從事19年IT技術培訓,累計培養100萬學員,並且獨創TTS8.0教學系統,1v1督學,跟蹤式學習,有疑問隨時溝通。該機構26大課程體系緊跟企業需求,企業級項目,課程穿插大廠真實項目講解,對標企業人才標准,制定專業學習計劃,囊括主流熱點技術,助力學員更好的學習。
Ⅳ 什麼是編譯器,什麼是語言
編譯器:翻譯工具,把高級語言源程序翻譯為匯編語言源程序,再把匯編源序翻譯成目標代碼供連接程序使用。
語言:一個規則。例如:C語言,它規定程序入口為main(),和其它規定。並把這些 <規定的集合> 命名為C語言。
TC:一個開發工具,它包括文本編輯器,編譯器,連接程序,調試環境等等。TC中的編譯器是TCC.EXE文件。
關於匯編:
匯編語言是一個規則,
匯編程序是一個翻譯工具
匯編源程序是一個 符合(匯編語言)規則的程序代碼
匯編是一個過程,這個過程是匯編程序 把匯編源程序 翻譯 為目標代碼的過程
對於高級語言:翻譯的過程叫做編譯,翻譯工具叫做編譯程序或編譯器。
Ⅵ C語言編譯產生的.OBJ文件和匯編編譯產生的.OBJ文件,如何連接
一同學習。。。
Trubo C的命令行編譯連接
所謂命令行編譯,是指在dos下,調用Trubo C的tcc.exe程序.來完成對turbo C源程序的編譯連接工作.當選擇對後綴為*.asm的匯編程序文件編譯時,tcc還要調用TASM後才能對後綴為.asm的文件進行編譯,這種方式適合於c程序與匯編語言混合編程的編譯連接,當c程序嵌入匯編指令時,也必須用此方法編譯連接。
命令行編譯的格式為:
tcc [選項1 選項2 ...]文件名1 文件名2...其中選項是指對後面給出的文件進行連接時的選擇項,可選的常用選擇項如下所示:每個選項前都帶有"-"號,且大小寫是區分的。文件名是指源文件.c或目標文件.obj或庫文件.lib當不指定只編譯不連接時,tcc將完成編譯和連接兩個步驟,對.lib庫只進行形式上的連接,標准庫用戶不用進行連接。
例如:
tcc -ib:\include -lb:\lib -etest start.c body.obj myc當執行該命令時,表示將start.c源文件和body.obj目標文件及myc.c(命令行中該文件無後綴),分別進行編譯(對body.obj文件不再編譯),然後連接生成名為test的執行文件test.exe(由-test給出).
-ib:\include 表示包含文件的路徑是b:\include
-ib:\lib 表示庫文件的路徑是b:\lib
又例如:
tcc -ms -efile -lc:\tc\lib file1 file2.obj graphics.lib
其中-ms表示選擇小內存模式進行編譯,它也是turbo c的預設編譯模式,將file1進行編譯,然後和file2.obj 及graphics.lib進行連接.生成file.exe的可執行文件.其中graphcis.lib庫的路徑為c:\tc\lib,即意為在c:\tc\lib目錄下去尋找graphics.lib文件.當進行混合編程時,如果已有匯編程序s3.asm其命令行可寫為
tcc ic:\tc\include -lc:\tc\lib -mm s1 s2 s3.asm mylib.lib
表示用中模式(-mm)編譯源文件s1.c和s2.c,調用TASM對s3.asm進行編譯,然後連接生成可執行文件s1.exe,編譯時,到c:\tc\include目錄中去找包含文件,到
c:\tc\lib目錄中去找庫文件mylib.lib.
---------------------------------------
http://topic.csdn.net/t/20010308/22/81569.html
http://www.down22.org/plus/view.php?aid=15882
比VC難用。。。
Ⅶ tcc和gcc編譯器的區別
tcc:小,僅c語言gcc:大, 僅c語言g++:大,c十十支持
Ⅷ 編譯器由什麼組成
編譯器:翻譯工具,把高級語言源程序翻譯為匯編語言源程序,再把匯編源序翻譯成目標代碼供連接程序使用。
語言:一個規則。例如:C語言,它規定程序入口為main(),和其它規定。並把這些 <規定的集合> 命名為C語言。
TC:一個開發工具,它包括文本編輯器,編譯器,連接程序,調試環境等等。TC中的編譯器是TCC.EXE文件。
關於匯編:
匯編語言是一個規則,
匯編程序是一個翻譯工具
匯編源程序是一個 符合(匯編語言)規則的程序代碼
匯編是一個過程,這個過程是匯編程序 把匯編源程序 翻譯 為目標代碼的過程
對於高級語言:翻譯的過程叫做編譯,翻譯工具叫做編譯程序或編譯器。