微软的C语言和其他C语言有什么区别吗?

来源:百度知道 编辑:UC知道 时间:2024/05/31 15:02:56
看到C语言有很多版本

不知道各个版本有什么区别

微软的C语言编的程序能在LUNIX下运行吗?

不知道楼主说的是所谓“微软的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 标准