1. Java的源代碼中無論定義多少個類, 編譯結果就只生成一個以.class為後綴的位元組碼文件對嗎內部內
怎麼可能呢,定義了多少個class就會生成多少個位元組碼文件的。但是如果一個類中定義了多個類,這多個類中最多隻能有一個public修飾的類,而且這個類的類名必須和文件名一致,其餘的類可以隨意。但是有多少個類就會產生多少個位元組碼文件的。
2. 用高級語言編寫的源程序,經編譯後產生的是
目標程序。
目標程序,又稱為「目的程序」,為源程序經編譯可直接被計算機運行的機如岩伏器碼集合,在計算機文件上以.obj作擴展名----由語言處理程序(匯編程序,編譯程序,解釋程序)將源程序處理(匯編,編譯,解釋)成與之等價的由機器碼構成的,計算機能夠直接運行的程序,該程序叫目標程序。
目標代碼盡管已經是機渣攜器指令,但是還不能運行,因為目標程序還沒有解決函數調用問題,需要將各個目標程序與庫函數連接,才能形成完整的可執行程序。
(2)源代碼編譯結果擴展閱讀
計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過"翻譯程序"翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。
編譯方式是指利用事先編好的一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶將高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器棗扮語言表示的與之等價的目標程序。
然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是指源程序進入計算機後,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯。
計算機一句句執行,並不產生目標程序。如PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。