C语言跟C#有什么不一样的

Python075

C语言跟C#有什么不一样的,第1张

最大的区别,C语言编译后是变成机器语言直接运行在CPU上的,C#编译出来的ML是运行在一个叫CLR的类似虚拟机的东西上的。并不直接使用CPU。

C语言是一门非常基础的语言,提供了高效的目标程序和比较少的特性,比如面向对象的类,抽象,多态和继承都无法实现,而C#是一门纯面向对象语言,不仅强制要求类定义,并且全面支持面向对象的方法(抽象,多态和继承)。

C语言有指针类型(可以说是这门语言的精髓),对于计算机有深入了解的程序员可以使用指针进行各种“精妙”的操作,当然也伴随着很大的风险,比如指针异常导致的内存溢出。C#在标准代码中不允许使用指针,事实上绝大部分指针的操作都被C#良好的封装了,避免了内存溢出的风险。

另外C#由于遵守CLT定义并运行在CLR上,有良好的可移植性,只要目标机器安装了对应版本的.NET Frameword,C#程序就可以在那台机器上运行(虽然.NET目前主要在Windows上才有),而C编译的完成的程序会根据操作系统和CPU型号有一定的不兼容性,不过几乎所有的CPU+所有的操作系统上都有C的编译器,所以应用范围比C#还要广。

当然,普遍认为一个熟练的程序员使用C编译的程序效率要高于使用C#编译出来的。

完全是个人爱好,编者个人喜欢C语言,只是这样而已。

GTK+(GIMP Toolkit)是一套跨多种平台的图形工具包,按LGPL许可协议发布的。虽然最初是为GIMP写的,但目前已发展为一个功能强大、设计灵活的一个通用图形库。

GTK+虽然是用C语言写的,但是可以使用熟悉的语言来使用GTK+,因为GTK+已经被绑定到几乎所有流行的语言上,如:C++,PHP, Guile,Perl, Python, TOM, Ada95, Objective C, Free Pascal, and Eiffel。

最基本的Qt框架以面向对象设计方式组织其部件,加上一些高级的准语言特性(比如信号槽),和对编译生成的目标代码的运行速度的要求,这就需要一种面向对象+泛型编程支持的静态类型检查的编译性语言,软件工业上用的最广泛的就是C++了