c可以做即時編譯嗎
可以採用自展的方法。當年的PASCAL語言編譯器就是這樣被創造出來的。
具體方法是:首先用其它任何一門語言寫一個非常精簡的C語言內核,可以只具備基本的功能。再用這個內核本身來編寫更大一點的內核。不斷重復以上的步驟就可以得到一個完整的C語言編譯環境,只是這樣做的難度太高了,做起來恐怕有困難。
② C語言既可以編譯執行又可以解釋執行嗎 編譯執行怎麼解釋 解釋執行又怎麼解釋
C 語言程序僅可以解釋執行。
解釋程序是將源程序(如BASIC)作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。編譯程序是把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機執行這個目標程序,得到計算結果。
相對於編譯性語言,其優點是可移植性好,只要有解釋器環境,程序就可以在不同的操作系統上運行。
缺點是代碼需要有專門的解釋器,在程序運行時,除要給用戶程序本身分配內存空間外,解釋器也佔用系統資源,所以其運行速度較慢。另外,也很難達到像C、C++那樣操作系統底層操作的目的。
解釋型語言常用於,一是對運行速度要求不高(如一些網頁腳本等)的場合,二是對跨平台(操作系統的兼容性)有要求的場合。
(2)c可以做即時編譯嗎擴展閱讀
1、Python和Java語言,專門有一個解釋器能夠直接執行Python程序,每個語句都是執行的時候才翻譯。
2、Python代碼在運行前,會先編譯成中間代碼,每個 .py 文件將被換轉成pyc 文件,pyc 就是一種位元組碼文件,它是與平台無關的中間代碼。不管放在 Windows 還是 linux 平台都可以執行,運行時將由虛擬機逐行把位元組碼翻譯成目標代碼。
③ 什麼是c編譯器有什麼用,可以用它來寫C語言嗎
c編譯器就是把你寫的c語言程序轉換成機器能理解及執行的代碼
④ C++編譯器可以編譯C程序嗎
為什麼不早說是VC++2010,用它編譯C語言程序的方法如下:
File->New->Project
在打開的New Project對話框中最左側一欄中選擇Visual C++下面的CLR,之後在其右側的區域中選擇CLR Empty Application
並在下面的三個文本框中填入工程名稱(Name),工程位置(Location)以及解決方案名稱(Solution Name)
之後單擊OK
然後可以解決方案瀏覽器中看到剛才新建的工程,右擊工程名,選擇Properties(屬性),在打開的對話框中選擇Configuration Properties(配置屬性)下面的General(一般),然後將右邊對話框中的Common Language Runtime Support(CLR支持)改為"No Common Language Runtime Support",然後點擊確定退出
接下來右擊工程中的Source Files,選擇Add->New Item...,在打開的對話框中選擇「C++ File(.cpp)",並在下方輸入一個以.c結尾的文件名,之後點擊Add,之後就可以在這個文件中加入C語言代碼,按F5就可以調試運行了。
⑤ C語言如何編譯
可以這樣做:1、新建C/C++源文件(在文件這里選擇新建)2、命名C/C++源文件名,並為它指定保存路徑(選擇文件中的C/C++source File)(並在右邊輸入文件名,選擇保存位置,點擊確定)3、開始錄入程序(在空白的工作窗口錄入程序)4、編譯(點擊第一個紅框,所有的提示均按確定),運行(紅色感嘆號)
⑥ C語言可以人工編譯嗎
你說的是不用集成環境來而是自己手動編譯吧?可以的呀!
eg:打開控制台,然後把目錄切換到你的編譯器的bin目錄下的編譯核心程序(我用wintc,目錄是:F:\Win-TC\bin\20cn),然後在控制台下輸入"tcc
h.c"(h.c是我寫的一個測試C程序),然後會在當前目錄下生成可執行程序h.exe,然後你再在控制台下輸入h.exe就可以看到編譯結果了,當然,編譯的時候有很多可選選項的,你可以翻看你的編譯器手冊...
⑦ 請問C程序的編譯、鏈接、運行可以一次性完成嗎
應該可以的
寫腳本
參數就是 源程序名 最後生成的可執行文件 腳本 最後 運行這個可執行文件
⑧ 我想做一個C語言編譯器……
沒什麼可不可取的,弄出來的話你的編程水平會有很大的提升,沒弄出來也會,除非你一開始就放棄.
首先不建議你搞x86架構的,當然想挑戰自己也行,因為x86架構的指令格式十分的操蛋.
建議寫arm架構的編譯器,因為指令結構簡單,而且你學了之後做嵌入式方向很有用
工作量相當的大,給你說一下你要點的技能點吧
*數據結構(編程必修)
*編譯原理(理論知識,沒有他你沒法下手)
*了解一種架構的匯編語言(不會的話你不知道怎麼該讓cpu去處理c的語句)
*了解你學的那種架構的匯編語言的指令格式(不翻譯成機器指令cpu咋跑)
*了解一種可執行文件的格式(windows就搜PE文件的格式,linux就搜elf文件的格式,不把編譯出來的東西組織成os能識別的格式咋運行)
*還有需要一定的英文閱讀能力(因為有的資料沒有中文)
還有一定要丟掉老掉牙的vc 6.0和tc,這倆傢伙用來應付考試還行,用他來實際開發你就找虐吧.
⑨ 執行C語言一定要先編譯么,不可以直接執行么
一般來說編譯過後就成了基本上能執行的2進制代碼。但是這些2進制代碼並不完善,一個程序往往需要調用不止一部分的代碼,所以需要把這些代碼全部整合起來才能執行。
即時你的程序看起來只有一個文件,但是編譯過後,多多少少裡面至少會調用到一些操作系統功能,和其它的一些設置,所以依然需要組建這個過程把這個程序和這些系統默認的代碼組建起來形成一個完成、單一的可執行文件。所以一般組建過程就包含了組建內部和外部代碼,一般來說內部代碼就是我說的系統預留的必要的一些代碼(例如怎麼具體完成把一些字元顯示在屏幕上呀這些功能),而外部代碼就是額外的調用自己寫得或者別人寫得其它程序功能(往往當你的程序調用了非c標准函數的時候)。
所以就算你的代碼可以編譯,但是可能因為組建並不成功(例如需要組建的代碼本身有bug,或者丟失,或者版本不匹配),你的程序依然可能無法正確運行。