C#可以做C可以做的一切吗?
我是C#程序员已经有几个月了,最近我一直在考虑学习C语言.
所以我的问题是,有什么C可以做C#不能做的吗? 我知道C中的手动内存管理,但只要我不编程操作系统或极其繁重的内存应用程序,我就不要太担心(因为我听说.NET处理自动内存管理非常好). 但是,我可以在C#中编写C#中的所有内容吗?我还指DLL注入,注册表编辑,驱动程序等类似的东西. C#被认为和C一样强大吗?如果没有,C#不能做什么? 解决方法
C#和C是语言.定义语言“可以”和“不能”做什么有点难以捉摸. C可以做的事情和C#不能做的事情的一个例子是随意释放堆分配对象的内存,而不释放其他未使用的对象.但这是大多数时候无关紧要的事情. (您可以使用Marshal.AllocHGlobal和Marshal.FreeHGlobal来分配和释放内存,就像在C中一样.)
C可用于编写Windows驱动程序之类的主要原因是因为这是Windows支持和促进的.如果有一天微软决定只支持C#和沟渠C,那么我们就在这里说C#可以做一些C不能做的事情(即使语言神奇地保留了它们现在,到那时为止).最有可能它不会,也是正确的,因为C比C#更适合系统编程.但希望你明白这一点. 从本质上讲,它不是语言本身的问题,而是它们的实现,工具和它们周围的世界.例如,you can easily write an operating system in C#.为什么?因为它有适当的工具. You can also write for embedded systems具有非实时要求.它与语言无关,这也是因为它有一个工具. 话虽如此,确实学习C.无论它与其他语言的比较如何,它都非常有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |