編譯器一定
不是的。以.c結尾的是C語言的源文件。文本文件可以不加文件名,也可以按windows習慣加.txt後綴。
linux系統並不是以後綴名來識別文件類型的。有時候有相應後綴名是為了相應的程序能識別,如C語言編譯器識別.c文件。
㈡ C++編譯器一定要按裝英文版本的嗎
編譯器的核心實際上是命令行的,無所謂英文版(命令行只認英文)。
如果是IDE,很多都有漢化版的。當然不一定要裝英文版。
不過VC++6的話,漢化質量實在太差(據說還有莫名其妙的BUG),還不如用英文版。
Microsoft Visual Studio中帶VC++,有官方中文版。LZ可以下個VS2008 Team Suite。不過文件相當大,對於新手來說不怎麼實用。
Dev-C++比較小,對標準的實現也比較好,不過調試功能很爛。
C-Free應該也可以用。
像Turbo C++就太老了,不推薦。
㈢ 編譯原理(編譯器)是將高級語言翻譯成機器語言的原理(或者工具)嗎
不一定吧!編譯器是將一種語言翻譯為另一種語言的計算機程序。編譯器將源程序(source language) 編寫的程序作為輸入,而產生用目標語言(target language )編寫的等價程序。通常地,源程序為高級語言(high-level language ),如C或C + + ,而目標語言則是目標機器的目標代碼 (object code,有時也稱作機器代碼(machine code )),也就是寫在計算機機器指令中的用於運行的代碼。這一過程可以表示為: 源程序→編譯器 →目標程序
㈣ 用JAVA反編譯器編譯出來的語言一定是原來的正確源代碼嗎
void 是沒有返回值啊。你用return是不對的,這個程序 不會返回任何值得。如果你想有返回值就不要用 void 定義阿。反編譯不一定是原來的源代碼。實現一個項目的代碼段可以有很多種寫法的。
㈤ 編寫的程序一定要有編譯器才能運行嗎
不用,編譯器只是有負責將編譯語言翻譯為機器語言的作用,編譯後的程序就是機器語言了。可以直接在計算機上運行
㈥ 用c++寫的程序,一定可以在c編譯器中編譯
是的
這兩種語言中,C語言出現的更早,C語言不兼容C++,不能使用C語言編譯器來編譯C++程序。
但是C++編譯器完全兼容C語言,你可以用C++編譯器來編譯C語言的程序的程序。目前常見的編譯器都是C++編譯器,可以用來編譯兩種語言的程序。
㈦ 寫編譯器必須要會匯編語言嗎
這種事情從理論層面來說:不一定要與匯編語言有什麼瓜葛。你完全可以讓你的編譯器直接編譯成機器碼。大部分C/C++編譯器(不是所有的)之所以先編譯成匯編語言,是為了解構。從C到匯編的「翻譯」相對容易(都算是抽象語言,有語義的),同時匯編語言的編譯器效率很高,可以生成質量非常高的機器碼。所以兩者結合,可以突出各自的優勢,減少復雜度。
但是如果有必要,當然也可以直接編寫產生機器碼的編譯器,實際上Java/C#這樣的半編譯語言和Js這樣的腳本語言,都沒有先轉換成匯編的這一步。前者是因為強大的虛擬機技術,直接把位元組碼轉換成機器碼執行了,後者是靈活的解釋器,實時把代碼轉換成機器碼執行,而完全沒有「編譯」這一步(當然如果深究的話,出於性能考慮,很多高性能的解釋器也會提前「預編譯」一部分代碼,但這是具體實現,不是宏觀概念)。
