導航:首頁 > 源碼編譯 > 編譯軟體用什麼語言

編譯軟體用什麼語言

發布時間:2023-05-30 00:38:47

㈠ C語言編譯器是什麼

C語言是一門面向過程的計算機編程語言,與C++、java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。[2]
二十世紀八十年代,美國國家標准局為了避免各開發廠商用的C語言語法產生差異,給C語言制定了一套完整的美國國家標准語法,稱為ANSI C。作為C語言最初的標准。[3]2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言編譯器普遍存在於各種不同的操作系統中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C語言的設計影響了眾多後來的編程語言,例如C++、Objective-C、Java、C#等。

例:
#include <stdio.h>

int main() {
printf("Hello,world!");

return 0;
}

編譯運行將輸出: Hello,world!

㈡ 常見的C語言編譯器是什麼

目前最流行的C語言編譯器有以下幾種:

1、GNU Compiler Collection 或稱GCC

GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。

GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。

2、Microsoft C 或稱 MS C

Microsoft C 是c語言的一種IDE(集成開發環境),常見的還有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C等等......

3、Borland Turbo C 或稱 Turbo C

Turbo C是美國Borland公司的產品,Borland公司是一家專門從事軟體開發、研製的大公司。該公司相繼推出了一套 Turbo系列軟體, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 這些軟體很受用戶歡迎。

(2)編譯軟體用什麼語言擴展閱讀:

C編譯的整個過程很復雜,大致可以分為以下四個階段:

1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。

2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。

3、匯編階段將匯編語言翻譯成機器指令。

4、鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。

㈢ 編譯器一般由哪種語言開發

其實我在想為什麼匯編語言生成一個簡單的編譯器後,可以用新生成的編譯器再次生成編譯器,例如,C語言開發C的編譯器呢?
這是一個遞歸的思想,舉個例子一看就明白了
用一個大的模具可以生成一個A模具,A模具可以做出來B模具,依次往下推,最終這個小模具可以做出來小盒子用來裝東西。
第一個大模具肯定是手工做出來的第一個模具,但是有了這個大模具後,後面就可以用他自動的生成更多的模具,後面的各種模具加起來又可以造出來更精緻的模具,
所以,自動第一個大模具造出來模具的時候,大模具就可以被拋棄了。
我們都知道編譯程序通常分為下面五個階段:
1)詞法分析
2)語法分析
3)語義分析與中間代碼產生
4)優化
5)目標代碼生成
當然最難的一點就是目標代碼的生成,這一階段實現了最終的翻譯,就是真正把原碼翻譯成可以被CPU直接計算的機器碼(NativeCode)。

㈣ 第一個 C 語言編譯器是用什麼語言編寫的

第一個C語言編譯器(簡單的編譯器)是用匯編完成的,後來的完整C語言編譯器是用C語言編寫的(也就是由簡單的編譯器編譯)。

㈤ c語言編譯器是用什麼於語言寫的

第一個C語言編譯器應該是用匯編寫的,但是第一個成熟的C語言困敬編譯器應該是由匯編和C語言共同寫的。枝肢
編譯原理講到了「自舉編譯器」。大意就是先用底層語言(應該是匯編)寫一個能運行,但效率極低的C語言編譯器(底層語言不好優化),有了C語言的編譯器以後,就可以用C語言好好寫一個編譯器了,用之前那個運行沒汪搭慎問題,但效率低得編譯器編譯一下,就得到了可以使用的編譯器了。

㈥ 編譯器是用什麼語言寫的,是用高級語言還是匯編語言

早期,用的是機器語言。
之後,才出現的匯編語言編譯器。

㈦ vs2010等編譯軟體是用什麼編寫的

微軟宣稱自VS2005後的VS系列IDE都是主要使用C#開發的,可能還有少部分模塊使用C/C++等語言開發的。

㈧ 一些著名的軟體都用什麼語言編寫

一、操作系統:

Microsoft Windows : 匯編 -> C -> C++

備註:曾經在智能手機的操作系統(Windows Mobile)考慮摻點C#寫的程序,比如軟鍵盤,結果因為寫出來的程序太慢,實在無法和別的模塊合並,最終又回到C++重寫。

相信很多朋友都知道Windows Vista,這個系統開發早期比爾蓋茨想全部用C#寫,但是最終因為執行慢而放棄,結果之前無數軟體工程師日夜勞作成果一夜之間被宣告作廢。

Linux :C

Apple MacOS : 主要為C,部分為C++。 備註: 之前用的語言比較雜,最早是匯編和Pascal。

Sun Solaris : C

HP-UX : C

Symbian OS : 匯編,主要為C++。 (諾基亞手機)

Google Android :2008 年推出: C語言(有傳言說是用Java開發的操作系統,但最近剛推出原生的C語言SDK)

RIM BlackBerry OS 4.x : 黑莓 C++



二、圖形界面層

Microsoft Windows UI : C++

Apple MacOS UI (Aqua) : C++

Gnome (Linux圖形界面之一,大腳): C和C++, 主要是C。

KDE (Linux圖形界面) ,C++。



三、桌面搜索工具

Google Desktop Search : C++

Microsoft Windows Desktop Search : C++

Beagle (Linux/Windows/UNIX 下): C# (基於開源的 .net : Mono)



四、辦公軟體

Microsoft Office : 在 匯編 -> C -> 穩定在C++

Sun Open Office : 部分JAVA(對外介面),主要為C++ (開源,可下載其源代碼)

Corel Office/WordPerfect Office : 1996年嘗試過Java,次年被拋棄,重新回到C/C++

Adobe Systems Acrobat Reader/Distiller : C++



五、關系型資料庫

Oracle : 匯編、C、C++、Java。主要為C++。

MySQL : C++

IBM DB2 : 匯編、C、C++,主要為C。

Microsoft SQL Server : 匯編 -> C->C++

IBM Informix : 匯編、C、C++,主要為C。

SAP DB/MaxDB : C++



六、Web Browsers/瀏覽器

Microsoft Internet Explorer : C++

Mozilla Firefox : C++

Netscape Navigator : The code of Netscape browser was written in C, and Netscape engineers, all bought to Java (see M. Cusumano book and article) redeveloped the browser using Java. It was too slow and abandoned. Mozilla, the next version, was later developed using C++.

Safari : (2003年1月發布)C++

Google Chrome : (2008的發布)C++

Sun HotJava : Java (死於1999年)

Opera : C++ (手機上佔用率比較大)

Opera Mini : Opera Mini (2007) has a very funny architecture, and is indeed using both C++ and Java. The browser is split in two parts, an ultra thin (less than 100Kb) "viewer" client part and a server side responsible of rendering. The first uses Java and receives the page under the OBML format, the latter reuses classical Opera (C++) rendering engine plus Opera's Small Screen Rendering, on the server. This allows Opera to penetrate various J2ME-enabled portable devices, such as phones, while preserving excellent response time. This comes obviously with a few sacrifices, for instance on JavaScript execution.

Mosaic : 鼻祖(已死) C 語言



七、郵件客戶端

Microsoft Outlook : C++

IBM Lotus Notes : Java

Foxmail : Delphi



八、軟體開發集成環境/IDE:

Microsoft Visual Studio : C++

Eclipse : Java (其圖形界面SWT基於C/C++)

Code::Blocks : C++

易語言: C++

火山中文: C++

火山移動: C++



九、虛擬機

Microsoft .Net CLR (.NET的虛擬機): C++

Java Virtual Machine (JVM) : Java 虛擬機:C++



十、ERP軟體 (企業應用)

SAP mySAP ERP : C,後主要為「ABAP/4」語言

Oracle Peoplesoft : C++ -> Java

Oracle E-Business Suite : Java



十一、商業智能(Business Intelligence )

Business Objects : C++



十二、圖形處理

Adobe Photoshop : C++

The GIMP : C



十三、搜索引擎

Google : 匯編 與 C++,主要為C++



十四、著名網站

eBay : 2002年為C++,後主要遷至Java

facebook : C++ 和 php

This line is only about facebook, not its plugins. Plugins can be developed in many different technologies, thanks to facebook's ORB/application server, Thrift. Thrift contains a compiler coded in C++. facebook people write about Thrift: "The multi-language code generation is well suited for search because it allows for application development in an efficient server side language (C++) and allows the Facebook PHP-based web application to make calls to the search service using Thrift PHP libraries." Aside the use of C++, facebook has adopted a LAMP architecture.

阿里巴巴和淘寶: php->C++/Java(主要用)



十五、 游戲 :

匯編、C、C++

星際爭霸、魔獸爭霸、CS、帝國時代、跑跑卡丁車、傳奇、魔獸世界.... 數不勝數了,自己數吧

都是用C++開發的,C++語言靠近系統地稱,執行速度最快。比如你的兩個朋友與你分別玩用VB、Java、與C++編寫的「跑跑卡丁車」,你玩C++編寫的 游戲 已經跑玩結束了,發現你的兩個朋友還沒開始跑呢,那是相當的卡啊,



十六、編譯器

Microsoft Visual C++ 編譯器: C++

Microsoft Visual Basic 解釋、編譯器: C++

Microsoft Visual C# : 編譯器: C++

gcc (GNU C compiler) : C

javac (Sun Java compiler) : Java

Perl : C++

PHP : C



十七、3D 引擎

Microsoft DirectX : C++

OpenGL : C

OGRE 3D : C++



十八、Web Servers (網頁服務)

Apache : C和C++,主要為C

Microsoft IIS : C++

Tomcat: Java

Jboss: Java



十九:郵件服務

Microsoft Exchange Server : C->C++

Postfix : C

hMailServer : C++

Apache James : Java



二十:CD/DVD 刻錄

Nero Burning ROM : C++

K3B : C++



二十一:媒體播放器

Nullsoft Winamp : C++

Microsoft Windows Media Player : C++

Microsoft Windows Media Player : C++



二十二:Peer to Peer (P2P軟體)

eMule : C++

μtorrent : C++

Azureus : Java (圖形界面使用基於C/C++的SWT,類Eclipse)



二十三:全球定位系統(GPS)

TomTom : C++

Hertz NeverLost : C++

Garmin : C++

Motorola VIAMOTO : 2007年6月,停止服務。 Java。



二十四:3D 引擎

Microsoft DirectX : C++(相信玩 游戲 的同學都知道這個,現在最高版本是DX11)

OpenGL : C

OGRE 3D : C++


二十五:伺服器軟體

Apache: C

Nginx: C

IIS: C


二十六:其他相關

OpenStack: python

綜述

著名的軟體一般是系統軟體,軟體一般都分為系統軟體和應用軟體。開發軟體分為一次開發和二次開發,比如開發操作系統(系統軟體),就是一次開發;在操作基礎上進行應用軟體的開發,比如開發 游戲 ,就是二次開發。


一次開發的系統軟體,要直接調用硬體資源,必須使用簡單、直接的底層語言和中層語言,比如匯編和C語言;二次開發應用軟體等,因為應用軟體的類別比較多的,針對的情況比較復雜和具體,因此可以選擇的語言很多,比如,大數據人工智慧方面的有Python;安卓手機APP就是Java等等。

這里還有一個誤區,其實語言不重要,每種語言都差不多,重要的是開發環境和編程思想。要學習編程開發,學的不是語言,而是對於開發環境工具的使用和編程思維的錘煉。很多著名的軟體都是用C等底層語言編寫的,但是也可以用其他語言編寫,不過很少學C了,其中有商業的原因。(後面會解釋)

集成開發環境軟體

計算機語言是不可以單獨拿出來說的,比如我們說C語言,指的是C語言編譯器,而Python語言,指的是Python解釋器。而編譯器和解釋器卻都是用C語言編寫,是不是很意外,所以著名的軟體一般都是系統軟體,使用的是C語言,一個語言就要初中水平就可以學會了,但必須了解IDE開發環境。


要使用計算機語言,就必須安裝編譯器,或者是解釋器,程序員是在TXT文本上編寫語言的,用編譯器可以一次性編譯為可執行文件exe,用解釋器則可以逐條翻譯成機器語言並逐條執行。編譯器速度快,解釋器可以跨系統,到了別的系統,不需要程序員改寫程序,換一個解釋器就行了。

IDE集成開發環境具備圖形操作界面、編譯器、調制器、控制台,是非常重要的開發工具的,只會一個計算機的語言語法,卻不會使用IDE,基本上是沒用的!

編程思想

很多著名的軟體都是使用C等底層語言編寫的,而且所用的都是編譯器。當然還有另外一個原因,就是編程思想,C語言是面向過程,Python是面向對象。很明顯,一次開發的系統軟體肯定是面向過程的,而面向具體使用場景的應用軟體肯定是面向對象的。


高手可以自由使用編程思想、程序編寫時,交替使用各種語言、切換解釋器或者編譯器,達到隱藏核心代碼目的;又或者軟體的核心模塊採用C等底層代碼,保證軟體的運行速度。畢竟開發時都是模塊化的,不同模塊使用不同的方法都是可以的!

所以很多著名的軟體,往往是混合著各種語言,核心部分是C,其他部分則根據不同的情況選用不同語言,之所以會這樣做,是因為使用C開發軟體要耗費大量的時間太。摩爾定律推動硬體發展,軟體開發也受到影響,一個軟體晚幾天推出市場,效果完全不同,所以程序員經常加班趕工,速度才是最重要的。

總結

如上所述,著名的軟體是使用C等底層語言、編譯器語言、面向過程的語言編寫的,更多的是在一個軟體的核心部分使用C等底層語言、編譯器語言、面向過程的語言,其他則見機行事。

現在主流的語言是java、python和go

㈨ 編程都有哪些語言

匯編語言

由於機器語言不方便人們的識別和記憶,人們就發明了以標識符來代替機器語言命令也就有了匯編語言,亦稱為符號語言,也是屬於低級語言。在不同的設備中,匯編語言對應著不同的機器語言指令集,特定的匯編語言和特定的機器語言指令集是一一對應的,但不同的是由於設備不同,平台之間不可直接移植,也就是你不能把電腦的指令集延用到電飯鍋上

匯編語言採用人類容易記憶和識別的助記符來代表一些0和1的指令,比如AND代表加法。

高級語言

C、C++、Java、Python、Ruby、易語言等都是高級語言,相對於低級語言來說,高級語言易於識別和記憶,也更接近人類的思維方式,編寫容易讀寫性好,開發效率更高。目前從業都大多都學習高級語言

重點是,高級語言是可移植的,做少量修改甚至無需修改,即可將代碼運行在不同平台的計算機上。

編譯型語言和解釋型語言(相對於高級語言而言)。

高級語言的可移植性是基於編譯或者解釋這個過程,對人類友好的高級語言只有經過處理才能被操作系統識別並載入到計算機硬體上最終執行。

高級語言的編譯和解釋都是面向操作系統而言,並非面對計算機硬體。

編譯型語言

編譯就是把一個事先編好的叫做「編譯程序」的機器語言程序安裝在計算機內,當需要執行高級語言程序時,編譯程序就把整個「高級語言的源程序」翻譯成「機器語言的目標程序」。

解釋型語言

高級語言進入計算機後,解釋程序一邊掃描一邊解釋,逐句輸入逐句翻譯,計算機一行一行執行,並不產生目標程序。

比如JAVA就是一種解釋型高級語言。

編譯型語言執行速度快,不依賴語言環境運行,跨平台差

解釋型跨平台好,一份代碼,到處使用,缺點是執行速度慢,依賴解釋器運行.

閱讀全文

與編譯軟體用什麼語言相關的資料

熱點內容
男主姓傅的小說 瀏覽:661
大胸部的女人電影 瀏覽:24
劉德華返老還童的電影叫什麼 瀏覽:264
羅莎卡拉喬洛 bodyguard 瀏覽:964
金玉王朝完整番外txt 瀏覽:558
需要錢觀看的網站 瀏覽:23
不可能的世界小說免費看 瀏覽:744
3d左右分屏電影網站 瀏覽:378
擁有系統幫助國家的小說 瀏覽:709
哦哦叱吒風雨里古惑仔粵語歌 瀏覽:138
銷售女王韓國 瀏覽:432
出軌的電影歐美 瀏覽:463
女生適合學編程 瀏覽:942
cad中的移動命令 瀏覽:685
0855影視在線看 瀏覽:11
求小仙兒有聲小說資源 瀏覽:993
老版皮特電影 瀏覽:634
韓國19禁 中文字幕 瀏覽:201
女性露點電影原罪 瀏覽:358
亞馬遜雲自建ssr伺服器教程 瀏覽:570