❶ 執行C語言一定要先編譯么,不可以直接執行么
不可以直接執行
有些IDE看起來有直接執行的按鈕
實際上 這些直接執行的
也是經過了後台的編譯 鏈接的。
C文件無法被執行
只能生成exe後 才可以執行的。
❷ c語言程序如果沒有編譯軟體能編譯嗎
不可以,不同的平台都是不一樣的,linux,windows,mac的C語言顯示都不一樣,win是個黑框,二其他不是。
而且,win編譯後的C語言linux和mac都無法識別,未編譯的C語言就是相當與txt文件啊(後綴.c),你打算怎麼用?
❸ 執行C語言一定要先編譯么,不可以直接執行么
一般來說編譯過後就成了基本上能執行的2進制代碼。但是這些2進制代碼並不完善,一個程序往往需要調用不止一部分的代碼,所以需要把這些代碼全部整合起來才能執行。
即時你的程序看起來只有一個文件,但是編譯過後,多多少少裡面至少會調用到一些操作系統功能,和其它的一些設置,所以依然需要組建這個過程把這個程序和這些系統默認的代碼組建起來形成一個完成、單一的可執行文件。所以一般組建過程就包含了組建內部和外部代碼,一般來說內部代碼就是我說的系統預留的必要的一些代碼(例如怎麼具體完成把一些字元顯示在屏幕上呀這些功能),而外部代碼就是額外的調用自己寫得或者別人寫得其它程序功能(往往當你的程序調用了非c標准函數的時候)。
所以就算你的代碼可以編譯,但是可能因為組建並不成功(例如需要組建的代碼本身有bug,或者丟失,或者版本不匹配),你的程序依然可能無法正確運行。
❹ 計算機c語言 為什麼經過編譯就可以執行,沒有經過連接
C語言是通過編譯器與電腦進行交流。不用經過連接。
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言訂定了一套完整的國際標准語法,稱為ANSI C,作為C語言最初的標准。
❺ 計算機二級c語言中一定要編譯嘛
c語言中一定要編譯。現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。
鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。
(5)c語言不編譯能否被識別擴展閱讀:
C編譯的整個過程很復雜,大致可以分為以下四個階段:
1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
❻ 計算機是如何識別C語言的
計算機是不能直接識別C語言的,它需要經過特殊的編譯器,編譯之後的二進制才能被計算機識別,計算機只能識別二進制代碼。
整個程序的編譯過程中有三個角色:程序員——編譯器——計算機。
程序員和編譯器之間的交流是C語言,同時編譯器也能把C語言經過翻譯成二進制指令。編譯器相當於程序員和計算機之間的翻譯官。
一個C語言程序的過程有以下步驟:
一、程序員使用C語言編寫代碼;
二、編譯把代碼翻譯成二進制指令;這里也有四個步驟:
a.預處理,這里主要處理頭文件,和程序中的一些宏代碼;
b.編譯,主要是把每個C語言文件編譯成二進制目標代碼;
c.鏈接,把上一步生成的目標代碼和庫文件進行鏈接,最終生成可執行程序。
以上就是C語言到計算機可識別代碼的轉換過程。
❼ 用C語言編程時需不需要編譯器
需要。要不.c文件不可能運行。許多C開發工具都帶了編譯器了,如TuboC什麼的,不是有編譯的按鈕嗎