为什么说C在某些方面比C#更有优势?

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:21:49
我听别人说C在某些方面比C#更有优势。但是我觉得C#能编写出更多的东西,编写起来更方便,还有那个visual studio 2005也很好用。那么C到底还有什么是C#做不了的呢?
回复eachdoor:C#也能用指针啊,所以也可以内存操作吧。 c#也可以在linux上编写啊,装个Mono就行了。

第一:在使用的算法和数据结构相同的情况下,C程序的执行效率是所有高级语言中最高的。因此对效率要求很高的软件一般都是用C和C++编写的。
第二:可以直接进行和硬件打交道的底层操作,甚至是用位运算直接控制内存中的每一个位,即可以直接控制内存中的0和1。
第三:C是脱离系统的存在。说到底,C#还是要依靠windows的.net运行库,而JAVA也要依靠JAVA虚拟机,脱离了它们依赖的系统,便没了用武之地。但是C什么系统都不用依靠,只要提供某个计算机的相关硬件文档,就能用汇编和C在这个计算机上创造一切。
第四:基于以上三条,底层协议、API函数、操作系统、系统级软件、大型游戏的编写都是采用C、C++和少量汇编混合编写完成的。而这些东西C#能做出来吗?

您好 如果从功能来看 c语言所有方面都优于c# c语言能干所有c#能做的事情,也能做c#做不到的东西。
比如 c#不能直接对内存进行操作,对windows依赖性太强。
从薪水就可以看出 一般大公司cc开发人员要远高于c#(甚至在java的影响下,大公司很少用c#)

再有c语言是一种真正意义上的语言,c#只是某种意义上的编程工具

效率上C比C#高,在有些极其强调效率的场合。
打个不怎么恰当的比方吧,我国的嫦娥,如果用C语言写是奔月去了,如果用C#写,万一一个控制跟不上,就奔美国五角大楼去了……
而且.NET不开源,出于安全考虑,一些方向,比如军用,是不会用的。

C#我不了解,但从道理上说,现存的每种语言都有各自的优势,不然肯定已经被淘汰了.

1 性能 C#的运行需要framework的支撑,代码只编译为中间语言,再由framework解析
C属于比较低级的语言 和 机器的联系更加直接 性能是最大的优势
如游戏对性能要求高的程序
2 c可以做嵌入式开发 当然c#也有但不如c那么灵活

C 经过多年的积累有太多优秀的库。C#短时间内是赶不上的。
对程序效率要求越高的地方C 越适用