⑴ c語言翻譯器
不知道你這樣問的意思。不過看到分值挺誘人的,我也來說兩句。
C語言翻譯器。翻譯器是早前的叫法,現在大都叫編譯器。
以前條件比較艱苦,開發的時候,程序的編輯工具、編譯工具、鏈接工具、調試環境等等這些統稱為「工具鏈」的東東都是分開的(意思是說它們是不同的幾個軟體),說得通俗一點,就是寫代碼需要一個編輯軟體,編譯寫好的代碼,又需要用到別的軟體,這樣極其的不方便。
發展到現代,很多開發過程都集成到一個軟體去了,就是說上面介紹的那些編寫、編譯、鏈接甚至是執行等等這些開發環節在一個集成開發軟體當中都能完成。
所以,現在通常所說的編譯,已經隱含地表示一個程序從預編譯、編譯、匯編、鏈接等等這么些過程了。
什麼是編譯(也就是你所問的翻譯)?編譯就是將人認識的高級一點的C語言翻譯成機器認識的低級一點的機器碼(就是二進制碼,全是0和1)。翻譯器呢,就是完成這個過程的一個軟體啦。
這么說,你能不能理解?
速度採納給分。
⑵ 怎樣能將匯編語言轉換成c語言
1、打開IAR FOR STM8工程。
⑶ C語言編譯原理是什麼
編譯共分為四個階段:預處理階段、編譯階段、匯編階段、鏈接階段。
1、預處理階段:
主要工作是將頭文件插入到所寫的代碼中,生成擴展名為「.i」的文件替換原來的擴展名為「.c」的文件,但是原來的文件仍然保留,只是執行過程中的實際文件發生了改變。(這里所說的替換並不是指原來的文件被刪除)
2、匯編階段:
插入匯編語言程序,將代碼翻譯成匯編語言。編譯器首先要檢查代碼的規范性、是否有語法錯誤等,以確定代碼的實際要做的工作,在檢查無誤後,編譯器把代碼翻譯成匯編語言,同時將擴展名為「.i」的文件翻譯成擴展名為「.s」的文件。
3、編譯階段:
將匯編語言翻譯成機器語言指令,並將指令打包封存成可重定位目標程序的格式,將擴展名為「.s」的文件翻譯成擴展名為「.o」的二進制文件。
4、鏈接階段:
在示例代碼中,改代碼文件調用了標准庫中printf函數。而printf函數的實際存儲位置是一個單獨編譯的目標文件(編譯的結果也是擴展名為「.o」的文件),所以此時主函數調用的時候,需要將該文件(即printf函數所在的編譯文件)與hello world文件整合到一起,此時鏈接器就可以大顯神通了,將兩個文件合並後生成一個可執行目標文件。
⑷ 通常用什麼方式將C語言編寫的源程序翻譯成機器指令
通常都是用編譯程序完成的。有很多編譯程序可以使用。
⑸ 將高級語言編寫的程序翻譯成機器語言程序,採用的兩種翻譯方式是( )。
正確答案是A,編譯和解釋。
原因是:編譯和解釋是將高級語言編寫的程序翻譯成機器語言程序的兩種方式。解釋方式是將源程序逐句解釋執行,即解釋一句執行一句,因此在解釋方式中不產生目標文件。
例如,早期的BASIC語言採用的就是「解釋」方式。編譯方式是將整個高級語言編寫的源程序先翻譯成機器語言程序,然後再生成可在操作系統下直接運行的執行程序,通常會產生目標程序。
(5)以編譯方式翻譯c擴展閱讀
程序設計語言的類型:
1、命令式語言。這種語言的語義基礎是模擬「數據存儲/數據操作」的圖靈機可計算模型,十分符合現代計算機體系結構的自然實現方式。其中產生操作的主要途徑是依賴語句或命令產生的副作用。現代流行的大多數語言都是這一類型,比如Fortran、Pascal、Cobol、C、C++、Basic、Ada、java、C#等,各種腳本語言也被看作是此種類型。
2、函數式語言。這種語言的語義基礎是基於數學函數概念的值映射的λ運算元可計算模型。這種語言非常適合於進行人工智慧等工作的計算。典型的函數式語言如Lisp、Haskell、ML、Scheme、F#等。
3、邏輯式語言。這種語言的語義基礎是基於一組已知規則的形式邏輯系統。這種語言主要用在專家系統的實現中。最著名的邏輯式語言是Prolog。
4、面向對象語言。現代語言中的大多數都提供面向對象的支持,但有些語言是直接建立在面向對象基本模型上的,語言的語法形式的語義就是基本對象操作。主要的純面向對象語言是Smalltalk。
⑹ C語言的翻譯方式是編譯方式還是解釋方式
這是一種命名方式,一種縮寫.clearerr=clearerror.因為是文件操作類函數的所以以f開頭(file).fopen=fileopenfclose=fileclose這些都是標准庫,常用的就那幾個,多用幾次就熟悉了.建議看下"駝峰命名法","匈牙利命名法"!
⑺ 如何將 C 語言翻譯成匯編語言
方法很多
比如 你看懂C語言 然後用匯編重新實現
或者用編譯器自帶的命令,比如gcc,可以gcc a.c -o a.S -S 就可以生成匯編
也可以先生成bin,然後反編譯。
⑻ Java程序的翻譯方式是「編譯」還是「解釋」
java結合了編譯和解釋過程。Java源程序首先被編譯成class文件,命令javac,這一點大家都毫無疑問。然後,由虛擬機(jvm)對class文件加以解釋執行。
個人覺得,解釋器不對源程序做任何改變,這也是證明java不是解釋語言的證據,因為有class文件
⑼ C語言如何把它翻譯成中文
C語言特徵字不是標準的英文或縮寫,翻譯了也不符合語法含義。在線翻譯軟體給出的結果如下:
無效排序(int bn){
int i, j, sum=0;
字元學校[40];
學生t;
for(i=0; i<bn; i++){
for(j=i+1; j<bn; j++){
if(student[i].id>student[j].id){
t = 學生 [i];
學生[i] = 學生[j];
學生[j] = t;
}
}
}
printf("\n排序後的結果為:\n");
for(i=0; i<bn; i++){
輸出一個學生(i);
}
}