源程序不編譯為什麼不能直接運行
A. Visual C 6.0中 為什麼源程序不編譯,不能直接運行
編譯的時候是幫你在檢查錯誤,幫你調試,所以一定要編譯
B. 一般使用高級語言編寫的程序稱為源程序,這種程序不能直接在計算機中運行,需要
需要進行編譯,將源程序轉成計算機可以執行的指令流,這種轉換後的結果一般稱為目標程序或執行程序。
需要注意,有的高級語言轉換後的程序並不是真正的可執行程序,而是一種稱做P碼的中間過渡代碼。若要運行這個程序需要通過一個專門的解釋程序將這類代碼轉成真正的機器指令交由計算機執行。這類語言如早期的VB、Lisp、Lua以及各類宏和SQL語言。
C. c語言原程序是可以用來直接運行的程序嗎
錯誤,不是的,源程序是程序員寫的,給人看的,電腦執行的都是.EXE程序或者是二進制可執行代碼,所以你得將源程序進行編譯連接然後才能生成可執行的程序也就是二進制的代碼
D. 請問專家,用c語言編譯的.exe文件,離開編譯環境,為何不能運行要怎樣才能運行
這個不需要專家來回答,我想我應該能告訴你為什麼。雙擊exe,一閃而過,而在編譯器里運行的時候不會,因為在編譯器里是調試狀態,有些編譯器默認會暫停,如果不想一閃而過,可以加#include<conio.h>,在main函數的最後(如果有return語句,寫在return語句之前。)加一句getch();或getchar();,這兩個函數的作用是等待用戶輸入,區別是getch();輸入一個字元後,不顯示在屏幕上,不等用戶按回車就執行下去,而getchar();則是顯示在屏幕上,並等待用戶按回車,不過getch();函數在有些編譯器裡面不認。也可以加#include<stdlib.h>,同樣,在最後加一句:system("pause");,這樣,編譯出來的exe就不會一閃而過了。如果你說的是你編譯出來的exe到別人的電腦沒法運行,可能由於操作系統不一樣,你在那個系統上再編譯一次就可以了。完全手打,如果能解決您的問題,請採納,謝謝。
E. c語言編程的程序為什麼無法運行,一直提示源文件未編譯
你是不是粘貼了網頁上的代碼,那個可能有很多符號的。還有保證在英文狀態下輸入啊。未編譯是肯定的啊,你都有語法錯誤啊。
F. 計算機能不能直接執行用C語言編寫的源程序
不能。
C語言也屬於高級語言的范疇,即人可以閱讀。但是計算機不理解「如果」和「for」是什麼意思,所以編譯器需要把高級語言命令翻譯成計算機可以理解的0和1指令,這樣計算機就可以執行它們。
用高級語言編寫的程序稱為「源程序」。
用二進制代碼表示的程序稱為「目標程序」。
用匯編語言編寫的程序稱為匯編程序。
可執行文件是漂浮在操作系統存儲空間中的二進制可執行文件。
它可以被載入到內存中,由操作系統載入和執行。
對於計算機本身,它只能接收和處理由0到1的代碼組成的二進制指令和數據。
也就是說,計算機能夠識別的程序就是「目標程序」。
計算可以直接執行的程序是可執行文件,即一個帶有extension.exe的文件。
(6)源程序不編譯為什麼不能直接運行擴展閱讀:
程序運行
為了讓計算機程序運行,計算機需要載入代碼和數據。在電腦的底部,
這是通過將高級語言(如Java、C/c++、c#等)代碼翻譯成CPU能夠理解並載入的機器語言來實現的。
如果您的計算機滿足大多數需求,操作系統(如Windows、linux等)會載入和執行很多程序
序列,其中每個程序是一個單獨的映射,並不是所有的可執行程序在計算機上。
它是一系列編碼指令,可以由信息處理設備(如計算機)執行,以獲得結果
它可以自動轉換成符號化指令序列或符號化語句序列的編碼指令序列。同樣的計算機程序
源程序和目標程序是相同的工作。
G. 為什麼源代碼不能直接在 Windows 下運行
源代碼是編程軟體生成的用戶寫的高級語言保存形成的。電腦不能識別這些,比須編譯為EXE、DLL這些文件才能識別。運行時被編譯為最低級的機器語言。像1001101011011000這樣的。
H. 一個原程序如果不編譯,能否直接運行,為什麼
計算機只識別二進制的0 1 代碼,源程序中的文字都是通過進制轉換進行編譯,然後輸出編譯好的運行結果,說白了就是通過 0 1代碼調用、控制硬體產生不同的響應進行硬體調用。
I. 為什麼有的程序在linux不需要編譯就可以直接使用
那是因為源程序早就已經提前編譯、連接好了,所以說你只要直接輸入程序名稱,就可以直接使用了;如果是自己編寫的某個源程序想要執行的話,那麼就必須首先經過:編譯、連接,然後才能夠執行。