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可否成功吧
