![]() |
1
10
1-差异语言有其优缺点。有一系列语言(功能性、动态、静态等)更适合特定的问题领域。你需要在每个家庭学习一个,知道什么时候选择哪个。例如,要编写一个简单的脚本,我会选择Ruby而不是C# 2-编译成CIL:可移植性可能不是什么大问题。但准确地说,mono在Linux上实现了clr。就这样。CIL还可以帮助您在运行在CLR上的语言之间进行混合和匹配。例如,IronRuby可以访问用C语言编写的标准框架库。它还使CLR能够利用运行程序的实际硬件(例如,启用优化、使用特定指令)。两台机器上的clr将为各自的机器从相同的il中生成最好的本机代码。 |
![]() |
2
5
语言和平台选择是项目目标的函数。听起来你喜欢系统级的编程,这是使用C/C++的优点之一。所以,如果你喜欢的话,继续写系统级的代码。 用C编写在快速业务应用程序开发中非常强大,因为这些应用程序的目标本质上是不同的。更快地编写好的工作代码在工时和上市时间上都是物有所值的。微软为我们提供了一种表达性语言和一个坚实的功能框架,使我们不必为95%的业务需求编写低级代码或工具,这对我们是一个巨大的帮助。 |
![]() |
3
5
IL的一个重要优势是语言独立。您可以定义项目中的模块,这些模块应该在C++中完成,一些在C中完成,有些在VB.net中完成。编译时,所有这些项目都提供各自的程序集(.dll/.exe)。这可以在C++语言中使用C++项目的程序集,反之亦然。这是可能的,因为……无论您选择哪种语言(支持.NET)。所有代码都编译为相同的IL代码。 |
![]() |
4
2
我不确定C是否更有效,只是因为它是微软的产品。如果使用Visual Studio或其他RAD,某些代码是自动生成的,有时效率较低。几年前,我是一个教条主义者,认为只有C可以回应我们所有的祈祷:P,但现在我认为虚拟机可以在优化代码之前执行它(像一个RDBMS),存储在CACH_)代码块以后执行等方面提供很多帮助,包括像赤陶一样创建虚拟机的“集群”的可能性。至少拥有一个额外的抽象层的好处比没有它的更大。 |
![]() |
5
1
我同意斯波森的观点。C非常擅长解决业务问题。您可以非常有效地创建一个为业务流程建模的框架,并通过面向对象和设计模式解决许多这些问题。在这方面,它提供了C++所具有的许多面向对象的能力。 如果你关心的是速度,c是你所说的原因的路线。 |
![]() |
6
1
进一步讨论第二个问题:您可以运行ngen来生成程序集的本机映像,这可以提高性能。不完全是机器代码,但是由于它绕过了JIT(及时编译)阶段,应用程序的运行速度会更快。 http://msdn.microsoft.com/en-us/library/6t9t5wcf(VS.80).aspx
|
![]() |
7
1
我至少可以想到四个,都有点关联:
这一切都是为了给运行时环境更多的控制代码的执行方式。如果你编译成machien代码,很多东西在那个时候就变成了“石头”。将编译推迟到机器代码,直到您对运行时环境有了更多的了解,才允许您以其他方式进行优化。就在我头顶上几下:
|
![]() |
8
0
第一个答案:默认情况下,新项目应使用C_。有一些情况,它还没有赶上到C++(在多支持),但它正朝着这个方向前进。 第二个答案:“可移植性”还包括x86/x64可移植性,这可以通过将平台设置为anycpu来实现。另一个(在这一点上更为理论化)优势是,JIT编译器可以利用CPU特定的指令集,从而更有效地优化。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 5 月前 |
![]() |
CactusCake · if语句中应有分号 6 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 6 月前 |