digitalmars編譯器
① 我想自學C++編程,請問需要給電腦安裝什麼軟體
1、gcc
GCC(GNU Compiler Collection,GNU編譯器套件)是由GNU開發的編程語言譯器。GNU編譯器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go語言前端,也包括了這些語言的庫(如libstdc++,libgcj等。)
GCC的初衷是為GNU操作系統專門編寫的一款編譯器。GNU系統是徹底的自由軟體。此處,「自由」的含義是它尊重用戶的自由。
2、llvm+Clang
LLVM是構架編譯器(compiler)的框架系統,以C++編寫而成,用於優化以任意程序語言編寫的程序的編譯時間(compile-time)、鏈接時間(link-time)、運行時間(run-time)以及空閑時間(idle-time),對開發者保持開放,並兼容已有腳本。
LLVM計劃啟動於2000年,最初由University of Illinois at Urbana-Champaign的Chris Lattner主持開展。2006年Chris Lattner加盟Apple Inc.並致力於LLVM在Apple開發體系中的應用。Apple也是LLVM計劃的主要資助者。
3、Watcom C/C++
Watcom C/C++ 編譯器、Watch Fortran 編譯器 經已在不其先前所屬公司Sybase售賣, 而被 SciTech 軟體公司 作為 Open Watcom 開源包 發行。類似於其他的 開源編譯器(例如 [GCC])項目,Watcom C代碼小而便攜, 其編譯器後端(代碼生成器)的目標碼可變。
該編譯器可在DOS、OS/2、Windows等操作系統上運行,並生成各種可運行的(不必是該操作系統的)代碼。該編譯器支持Novell NetWare的 NLM 目標碼。目前正進行 為 Linux、modern BSD (例如FreeBSD) 操作系統 重定目標碼,以便在 x86、PowerPC 及其它處理器上運行。
Open Watcom C/C++ 的1.4版於2005年12月發行,採用 Linux x86 為實驗目標, 支持NT、OS/2等host平台曾有某被棄置的QNX版本,但其編譯所須的庫並未開源發行。當前最近的穩定版是1.9版,在2010年6月發行。

4、Digital Mars
DigitalMars是一款高性能的編譯器,功能包含,快速編譯/鏈接時、強大的優化技術、Contract設計、完整的資源庫、瀏覽HTML文檔,反匯編、庫、資源編譯器等。命令行及GUI版本、教程、代碼示例、在線更新、標准模板庫等等。
5、MSVC系列
與Visual Studio集成發布,微軟自己的編譯器,VS是一個基本完整的開發工具集,它包括了整個軟體生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。
所寫的目標代碼適用於微軟支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
② 大家都用什麼C/C++編譯環境
了解的C/C++編譯器如下: x0dx0aGCC家族有 x0dx0aCygwin x0dx0aMingw32 x0dx0aDJGPP x0dx0aDev-C++(Mingw32) x0dx0a還有正宗的GNU GCC 2.95.5~3.0.0.4版本 x0dx0aMS家族有 x0dx0aMSC 5.0、6.0、7.0 x0dx0aMSQC 1.0、2.5 x0dx0aMSVC 1.0、4.2、6.0、7.0 x0dx0aBorland家族有 x0dx0aTC 1.0、2.0 x0dx0aTC++ 1.01、3.0 x0dx0aBC 3.0、3.1、4.0、4.5、5.0、5.02 x0dx0aBCB 3.0、5.0、6.0 x0dx0a其它有 x0dx0aIntel C/C++ 5.0 x0dx0aWatcom C/C++ 11.0、11.0c x0dx0aVectorC 1.3.3 x0dx0aIBM VisualAge for C++ x0dx0aDigitalMars C/C++ x0dx0aKAI C/C++ 4.03f for RedHat 7.2 x0dx0aLcc4.1 x0dx0aLCC-WIN32 2001-09-25~2002-04-28日版 x0dx0aSmall C x0dx0aCC386 x0dx0aPacific C x0dx0a另外還有C的解釋器 x0dx0aQuincy x0dx0aEic x0dx0aCINT x0dx0ax0dx0a上面提到的編譯器/解釋器,大部分我都使用過。現在固定使用VC7.0 Cygwin Mingw32 VectorC和LCC-WIN32這五種編譯器。 x0dx0ax0dx0a在GCC家族中GNU GCC是根本,其它的編譯器版本都是從它導出的。其中,Cygwin和Mingw32都是WIN32平台下的編譯器,DJGPP是DOS下的32位編譯器。大家所熟知的DEV-C++充其量只是GCC的一個外殼,它所自帶的編譯器就是Mingw32的一個版本。這些GCC的版本中,Cygwin是最大的,它與其說是一個編譯器,倒不如說是一套編程工具。它不僅有編譯器,還有其它很多的工具。其實,它就是一個UNIX系統在WIN32平台上的實現。實現了大多常用的UNIX工具,最近的版本中連Apache這樣的「工具」都集成進來的。不過,Cygwin雖然功能強大,但它卻不是很易用(和UNIX相似,熟悉UNIX的人用它可以很快上手),因為太多其它的工具分散了人們的注意力。相比之下Mingw32就要好用得多,它只有最基本的幾個編程工具(只可惜它不自帶GDB)。GCC中並不只是C/C++編譯器,其中還有很多其它的編譯器如JAVA,Fortran,ADA等。它是一個編譯器集合,不過有些編譯器只能在UNIX系統上用。MS家族的編譯器就不用說了,大家對它們都很熟悉。VC 7.0(VC.NET)是它的最新產品。Borland家族也不用說,大家也是耳熟能詳。最近它才推出了BCB 6.0。 x0dx0ax0dx0a其它的編譯器如:Intel C/C++大家一看名稱就知道是Intel的東西,它和VC6完全兼容,不過要掛在VC6下才能用。Watcom C/C++是早先編譯器四國大戰中的一員,原本是很不錯的東西,可惜戰略不對,現在已不見聲息了。倒是以它為基礎的一個OpenWatcom現在還在奮戰。VectorC是我近日才發現的一個好東東,它是個純C的編譯器。IBM的VisualAge for C++原本是IBM想用來淌C++編譯器這片渾水的東西,不過IBM的戰略改了,它就被放棄了。DigitalMars C/C++的前身的Symantec C++(它也是編譯器四國大戰中的一員),不過現在Symantec不做了,於是它的作者就把它改成了DigitalMars C/C++開放給大家使用。以上這些都是WIN32平台上的東西。KAI C/C++是個很強大的C/C++編譯器,它是個多平台的編譯器。不過現在被INTEL收購了,已經停止開發了。Lcc4.1是個純C的編譯器它是開放源代碼的。不過不怎麼好用。LCC-WIN32是一個在LCC基礎上開發的c語言的集成開發環境,很好用,而且有很詳細的資料,FREE!Pacific C是一個純DOS的C的集成開發環境,就不多說了。Small C CC386都是開放源代碼的編譯器,它們都很簡單,應用來給大家學習編譯器的。Quincy Eic CINT都是C的解釋器,是用來讓大家學習C語言的其中CINT的功能很強大,還支持一些C++的特性。 x0dx0a當然還有很多其它的編譯器,這里我給出的編譯器都是可以在WIN32或DOS平台上用的(除KAI外)。UNIX平台上的編譯器還是以GNU的為主,其它的我就不是很清楚了。 x0dx0ax0dx0a在以上的編譯器中,最特別的就是VectorC這個東西只支持純C。但它卻號稱是最快的編譯器,不過經過我的試驗,它的確在有些情況下強過其它編譯器很多!而且它還有個互動式的優化器,可以讓你直接看到C代碼對映的匯編代碼。Cygwin和Mingw32為一母所生,其運行效果相差不大。它們生成的代碼效率都很不錯,編譯的速度也很快,最值得一提的是它們對C++的特性的支持算是所有編譯器中最完全的,而且它們還支持C99的大部分特性。這一點很是不錯!大家對MS的VC已經很熟悉了,本不用我多說。不過在它的最新的產品VC7.0中,有很大的改進。它對C++的特性的支持比6.0有了很大的提高,是我所用的編譯器中是僅次於GCC的。而且它編譯出的程序,運行速度很快!僅有少數時候次於VectorC與GCC,其它情況都是最快的!其平均運行速度是最快的。對Borland的產品我也無需多說。它的TC2.0與BC3.1都是我最喜歡的東西。可是現在的BCB卻大不如前了,編譯的速度和VC6一樣慢!IDE還有較多的BUG。最令人想不通的是它生成的代碼的運行速度很慢,比LCC-WIN32還慢!它唯一值得一提的就是它的RAD做的比MS的好。Intel的編譯器大家可能不熟,它太貴了!還要有VC的支持,很不劃算,而且編譯速度比VC6還慢。不過它的代碼質量很不錯。DigitalMars C/C++沒有什麼亮點,編譯速度較快,代碼執行速度適中,對C++特性支持還算不錯。LCC-WIN32是個很不錯的集成開發環境,它只支持純C。它的編譯速度極快!代碼執行速度較慢。不過它的最大亮點在於它的IDE,在所有的FREE編程工具中,它的IDE是最專業的,有很強大的代碼分析,管理功能。而且它提供了大量的編程資料。 x0dx0a我曾對一些編譯器的代碼執行效率做過一些測試,以下是概況: x0dx0a1. VectorC、VC 7.0 (極快) x0dx0a2. Intel C/C++、VC 6.0、GCC (很快) x0dx0a3. DigitalMars C/C++ (一般) x0dx0a4. LCC-WIN32、BCB、BC5.02 (較慢) x0dx0a當然,我所做的測試比較片面。不過在很大程度上已能反映其大概狀況。
③ D語言有哪些其他語言沒有的優勢
D語言,一種通用計算機程序語言,威力強大、功能豐富,支持多種編程範式
D語言最初由DigitalMars公司就職的WalterBright於2001年發布,意圖改進C++語言。目前最新D語言被簡稱為D2。最主要的D語言的實現是DMD。
D語言源自C/C++,借鑒了眾多編程語言的特色和現代編譯器技術,融會貫通了設計者豐富的實踐經驗,使之具備了非凡的威力--既有C/C++語言的強大威力,又有Python和Ruby的開發效率。它集眾多系統級編程所需的功能於一身,例如垃圾回收、手工內存操作、契約式設計、高級模板技術、內嵌匯編、內置單元測試、Mixin風格多繼承、類Java包管理機制、內置同步機制、內建基本運行時信息。
④ c++中digital是什麼意思
Digital mars是一個c++編譯器,進行dos開發的好工具,很少見。
⑤ 微軟的C語言和其他C語言有什麼區別嗎
不知道樓主說的是所謂「微軟的c」是指什麼概念……
(個人意見,僅供參考)
1.如果是指微軟推出的c語言的編譯器ms c的話,其實就是c語言各個編譯器之間的區別。如果你想深入了解,最好是學習下c標準的制定歷史。e.gc98、c99。微軟推出的ms c是一款嵌入式系統編譯器。
C語言命令要被硬體識別並執行,必須通過編譯器編譯。編譯器分為前端、中端、後端。前端與各種計算機語言寫的程序打交道,後端與處理器的基本指令集接軌。所以如果使用C編程時,要達到最高的效率,最好能夠很了解所使用的C編譯器。先試驗一下每條C語言編譯以後對應的匯編語言的語句行數,這樣就可以很明確的知道效率。在今後編程的時候,使用編譯效率最高的語句,這樣就能確保單片機C編程的時候同樣的功能不同的C程序,編譯效率最高。但是各家的C編譯器都會有一定的差異,優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以匯編語言編寫的同樣功能程度長5-20%,所以不同廠家的C編譯器的編譯效率也會有所不同。
至於用不同的編譯器編寫的程序能否在LUNIX下運行的問題其實就是語言的移植問題。如果兩個不同版本的C語言編譯器是完全兼容的,那麼用其中任何一個版本的C語言寫的源程序,都可以在另一個版本的C編譯器上不加修改的成功編譯。
下面列出常用的c編譯器及其所支持的平台。
①MinGW (gcc for Windows)
開源、GNU/gcc 編譯器的 Windows 版、32 位、編譯代碼優化、GCC 支持平台最多、支持 C99/C++98 標准 。
②Open Watcom C/C++
開源、16/32 位、編譯代碼優化
Digital Mars C/C++ compiler
16/32 位,編譯、連接速度快、代碼優化、只部分支持 C99 標准
③Borland C/C++ 5.5
只部分支持 C99 標准
④Ms Visual C++ Toolkit 2003
C/C++ 運行時庫(C/C++ Run-Time Library)、連接器(Linker)、Micro$oft .NET 運行時庫、和程序例子。但不包括 IDE。只部分支持 C99 標准。
⑤lcc
開源、32 位、支持 C99 標准、純 C (不支持 C++) 編譯器
…………………
由於c語言的可移植性相對於其他的語言是很強的。所以,ms c編譯的程序一般情況下LUNIX是可以運行的。不過也有很多的具體細節問題另當別論。
2.如果你這里「微軟的c語言」指的是微軟推出的C sharp(c#)的話。當然就不能在LUNIX下運行了。
C#是一種最新的、面向對象的編程語言。C#與C/C++具有極大的相似性,熟悉類似語言的開發者可以很快的轉向C#。 但其中的很多標准與c是不一樣的。
⑥ C++有哪些編譯器
C++編譯器很多的:
Visual C++
GNU C++
Inter C++
Sun C++
clang
等等。
一般都用VC和GNU C++,其他的都是專業人士使用的。
關於IDE,C++有很多,一些其他語言的IDE現在也支持C++了;
Visual Studio系列(目前最新版本是VS2013)
Dev C++(目前最新非官方版是Dev c++ 5.4.1)
Code Block
NetBeans
C-Free
⑦ 單純的只寫c++,學生用的,哪個軟體比較好
Visual Studio,這是最好的,沒有之一。我干C++程序員10多年了,用了很多IDE,包括Eclipse、Tubo C++、C++ Builder等等,最後還是發現Visual Studio最好用,響應速度最快,功能最全。寫C++的話推薦Visual Studio 2017,這個版本對C++11的支持比較全面,同時又比Visual Studio 2019穩定,基本沒有Bug,學生的話安裝Visual Studio 2017 Community版本,免費的。寫C++一定要安裝VAX插件,能提高編寫代碼的速度50%以上,VAX雖然是收費的,但這是中國,免費(pojie)版了解一下?
⑧ C++用什麼編程環境呢
C++ 編程環境,給你推薦兩個目前我認為最好的:
1.Microsoft Visual C++
2.Borland C++ Builder
下面講C++與Visual C++的區別。
先簡單的說,C++是一種高級程序設計語言,而Visual C++則是一種編譯器。
這樣說你可能不十分理解。聽我解釋。
打個比方高級程序設計語言就像人的語言,但計算機不可能看的懂這種語言,計算機到最低層就是一些電路,他只知道高電平或者低電平。如果把高電平看成「1」,把低電平看成「0」。就可以說計算機只認識「010101」這樣的機器語言。最開始的計算機程序都是用這樣的低級語言編寫的。但這樣做的缺點非常明顯,人要是想懂這樣的語言太難,而且容易出錯。
所以到後來以發明了匯編語言,比機器語言好懂一點點,但實際上匯編語言也只不過是機器語言被換成了人們稍微容易懂的代號而已,依然是面向機器的語言。
再後來就出現了C語言,C++語言這樣的高級語言。
像C,C++這樣的高級語言,人們用的時候更像平時所用的語言(英語)。但顯然計算機是不懂這些的。所以這中間就需要一個翻譯的角色。
編譯器就充當了這個翻譯的角色。把高級語言翻譯成計算機可以識別的機器語言。
現在你是否有點懂了。C++就是一種程序設計的高級語言,而Visual C++就是一種編譯器。
當然學C++語言未必一定要用Visual C++,翻譯不只這一個。Borland C++ Builder也非常不錯。
另外,現在像Visual C++,C++ Builder這樣的開發環境,不只是充當編譯器的角色。他們一般都集成了程序編輯,編譯,調試,都各種各樣有用的功能,用起來方便多了。
下面再稍微講一下Visual C++與C++ Builder的優缺點。
Visual C++是微軟的產品,在程序開發中用的非常多。而且裡面的MFC類庫用來編程也非常方便。微軟的產品是非常值得信賴的。
C++ Builder是Borland公司的產品,與Visual C++相比,最大的優點就是RAD,也即快速開發。Borland定義了各種各樣的可視化組件庫,使你編程的時候不用花太多的時間在界面上,只需把需要的組件放到合適的地方就行了。而用Visual C++開發的程序,一般在界面上就要寫好多代碼。但根據我使用的經驗,C++ Builder對Unicode編碼支持不是很好,偶爾會出一些奇怪的錯誤。
⑨ matlab7.0應編譯器VC++什麼版本
要將用Matlab語言編寫的函數文件編譯成可獨立執行的*.exe文件(即可脫離Matalab環境的執行程序),首先要安裝和配置好Matlab Compiler,一般來說,在安裝Matlab時就已經安裝了相應版本的Matlab Compiler。只是不同版本的Matlab,其編譯器的使用方法有一定的差異,這一點要引起一定的注意。
在確定安裝好Matlab Compiler後,還需要對Compiler進行適當的配置,方法是在Matlab命令窗口輸入:
Mbuild –setup
然後根據提示執行相應的操作,使用者可根據自己計算機中現有編譯器的情況選擇合適的編譯器,如VC++ 6.0、VC++7.0、Bland C的編譯器等,目前Matlab好象還不支持VC++8.0(我計算機安裝的就是VC++2005,Matlab就無法識別)。當然,如果你的計算機里根本就沒有安裝其他任何語言的編譯器,也可選擇Matlab自帶的Lcc編譯器,其實這個編譯器對大多數用戶已經夠用了(我就是選擇的Matlab自帶的Lcc編譯器)。
配置好編譯器後,自然就是對自己編寫的M文件進行編譯了。
將M文件編譯為獨立可執行文件的語法是:
>>mcc –m fun1.m fun2.m…..
其中fun1就是最後的可執行文件的名稱。
另外,也可通過採用命令開關-o指定編譯最終目標文件的名稱,如 mcc –m main.m –o mrank_main,就是將編譯後的文件指定為mrank_main.exe。
編譯後的生成文件根據編譯器的版本不同而不同。具體的可參閱相關資料。
如果要在沒有安裝matlab的計算機上執行編譯後的程序,首先要將\MATLAB701\toolbox\compiler\deploy\win32中的MCRinstaller.exe安裝到該計算機上(7.0以前的版本是mglinstaller.exe)。
其次是要將「MCRinstaller.exe安裝目錄\runtime\win32」這個路徑添加到該計算機的環境變數中,添加的方法是:
右擊「我的電腦」「屬性」「高級」「環境變數」「添加」指定一個變數名,然後將上述路徑復制到裡面就可以了。
第三步是將編譯生成的相相關文件拷貝到同一目錄下(當然其他目錄亦可)。
第四步是打開MS-dos操作窗口,進入到編譯後的*.exe程序所在的目錄,執行編譯生成的*.exe文件即可。
需要說明的一個問題:
如果你的程序還附帶有圖片(如Version上的圖標)、Web頁面(如help文檔),在編譯的時候可能無法與M文件一起編譯(因為我沒有試過,也沒有看到有關這方面的介紹),這沒有關系,先在計算機上執行一次你編譯後生成的獨立可執行文件,這時在同一目錄下會生成一個以你編譯後的程序名+_mcr結尾的文件夾,這時,你只需要把與程序相關的圖標和Web頁面拷貝到該文件夾中的Matlabprogram下面的一個子目錄(一般與用於編譯的文件夾名相同)中即可。
其他的方法還有:(以下是網上搜索到的方法,沒有試驗過,有興趣的朋友可以試一試)
方法一:在matlab下的workspace里打comtool,點file-open project將我們先前建好的comtest.cbl工程文件打開,再點component--package component就實現了打包,此時到comtest\distrib文件夾里看,生成的comtest.exe就是打包後的解壓程序,雙擊它會解壓出一些文件,再點擊解壓出來的_install.bat就可以實現安裝
方法二:如何將gui生成exe ?
已有gui.m文件和gui.fig文件
1 在matlab的command窗口中輸入
mcc -B sgl GUI.m
2.將上步生成的文件包括*.m 文件和*.fig文件一起考到待運行的機器
此時仍需matlab所必需的動態連接庫。
3. 將 <matlab path >/extern/lib/win32/mglinstallar.exel拷貝到到待運行機器上
4.在機器上先運行mglinstallar.exe, 然後選擇解壓目錄,將在指定目錄下解壓縮出bin和toolbox兩子目錄,其中在bin\win32目錄下就是數學庫和圖形庫脫離MATLAB運行所需的所有動態連接庫,共有37個。可以將這些.dll考入system32, 也可以直接放在應用程序目錄下。而toolbox目錄則必須與應用程序同一目錄。
5.大功告成。
方法三:運行mcc -B sgl GUI.m 生成exe文件,把GUI.exe文件和GUI.ctf文件拷貝到目標電腦上,然後在目標電腦上安裝 MCRInstaller.exe ,安裝完以後,我點擊GUI.exe,它顯示:this application has requested the Runtime to terminate it in an unusual way。這個可能是哪裡出錯了呢?
Solution:
The segmentation violation can be caused e to a corruption in either the profile of the current user or by corrupted Windows libraries. In order to determine which is the cause, try logging in as a different username and run MATLAB.
If you are able to successfully launch MATLAB under a different username:
1. Log onto the machine, as the user that is receiving the error.
2. On your desktop, click on Start > Run
3. Type "regedit" in the Open text field and click OK, this will bring up the Registry Editor
4. In the Registry Editor expand the following folders: HKEY_CURRENT_USER > Software > MathWorks > Matlab
5. Under the MATLAB key, find the folder having the same name as the version number of the MATLAB that is crashing; and delete it. This Registry key will be regenerated the next time MATLAB is started.
Click on the link below to view an image of the Registry Editor, which shows how to delete a registry key for MATLAB 6.5 (R13).
After following these steps, you should be able to launch MATLAB successfully.
If MATLAB crashes regardless of the user who is logged in, the crash may be caused by corrupted system libraries. For Windows NT, 2000, or XP, some customers have found that reinstalling Windows Service Packs have resolved the issue
這個是啟動6.5時出類似錯誤的解決方法,你試試7.0可否成功吧
