哪个区域主要使用c ++?

时间:2009-10-11 06:12:21

标签: c++

我的青少年多次询问过C ++广泛使用的领域。我经常回答操作系统。是否还有其他广泛使用的领域?

14 个答案:

答案 0 :(得分:15)

可以在Bjarne Stroustrup's homepage找到一个非常大且可能非常确定的用C ++编写的软件列表。

答案 1 :(得分:6)

数值计算:物理,图形游戏,金融,统计;

比特摆弄:驱动程序,操作系统,网络,嵌入式设备;

您需要精确控制内存分配的任何地方。

答案 2 :(得分:4)

我实际上不会说操作系统。 Linux& Windows内核主要是C,只有用户区域的东西是C ++(授予,驱动程序可以用任何东西编写)。我不确定马赫(OS X),但如果它主要是C,我也不会感到惊讶。

C ++填补了这个“面向对象,但在80年代后期和90年代早期对于极小的计算机来说足够快”的奇妙之处。因此,90年代写的任何东西很有可能用C ++编写;应用程序,驱动程序,游戏等等。

今天,新的开发似乎主要在托管(JVM / .NET)语言中完成。并不是说没有任何新的C ++开发;特别是游戏的性能仍然有限,足以在很多情况下使用C ++。

简而言之:

  1. 驱动
  2. 游戏
  3. LEGACY CODE

答案 3 :(得分:4)

C ++也在实时金融市场数据软件中大量使用。这里的延迟非常重要。 C ++是很好的选择,因为它几乎是最接近金属的。

答案 4 :(得分:3)

C ++和C在嵌入式系统中大量使用,因为人们可以对内存和其他稀缺资源进行确定性控制。我认为大多数游戏(至少我玩的游戏)仍然是用C ++编写的,可能是因为存在用C ++编写的大型框架,这些框架已经过全面测试并且非常强大。

答案 5 :(得分:1)

它用于你发现它解决你的问题效率的地方。编译器,编写驱动程序......

答案 6 :(得分:1)

目前它在游戏开发和性能关键应用程序中。但是,有许多用C ++编写的旧东西,大多是在Java和.NET引入之前编写的,而且这些代码仍然需要维护。

答案 7 :(得分:1)

考虑一下:从引入MFC到引入.NET框架,C ++是Windows开发的首选语言。那应该告诉你一些事情。微软首选,许多开发人员更喜欢它.Net语言。

C ++是一种能够进行系统级编程的语言,但由于提供了大量的库,它也可用于应用程序编程。我猜想桌面PC上运行的几乎每个应用程序都是用C ++编写的。

如果你可以获得任何东西的库,你几乎可以肯定地得到它用于C ++。

它广泛用于游戏行业,并在某种程度上用于嵌入式系统领域。

所以我会说 - '无处不在'。它毕竟是一种“通用”编程语言。

答案 8 :(得分:1)

我已经看到C ++在GUI中使用得相当多,因为面向对象的性质对于“小部件”来说是很自然的。

我曾经看到它用于飞机的安全关键代码。这仍然让我做噩梦。

答案 9 :(得分:1)

任何基于Qt的应用程序都将使用它,因为Qt是用C ++编写的。

此外,由于KDE基于Qt,因此整个桌面环境(包括设计用于其中的应用程序)都是用C ++编写的。

答案 10 :(得分:0)

操作系统中的C ++:我所知道的内核(真正完成内存管理和驱动程序等所有令人讨厌的工作的核心位)都是用C ++编写的,只是C. Linux是用C编写的,Windows也是如此。< / p>

见这里: What Languages are Windows, Mac OS X and Linux written in?

这些天的应用程序(构成操作系统的非内核位)用任何最适合这项工作的语言编写。

如果以下内容对您很重要,您可以选择C ++:

  • 你想大量使用类和继承
  • 您只打算使用一个操作系统
  • 你想要合理的表现
  • 您的开发人员已经了解C ++
  • 您希望将类似组件的工作划分给不同的人员或团队(每次都可以给出一个类或接口来实现)

你可以用C来做所有这些,平台之间的可移植性仍然是个问题(C ++与大多数C一样具有平台特性)在C中你必须更加严格地充分利用静态和动态分析工具。在C中泄漏内存比在C ++中泄漏更容易。

答案 11 :(得分:0)

大多数防病毒软件都是用C ++编写的

答案 12 :(得分:-1)

  
      
  • 几个主要的操作系统都是用c ++编写的
  •   
  • 对C ++必不可少的低级效率。这允许我们使用C ++编写设备驱动程序
  •   
  • 许多数值,科学和工程计算都是用C ++完成的。
  •   
  • 图形和用户界面是大量使用C ++的领域。
  •   
  • C ++广泛用于教学和研究
  •   
  • 游戏
  •   

答案 13 :(得分:-4)

在遗留代码中......

即使是Stroustrup也承认C ++有很多错误,大多数是从C继承的。 这就是开发C ++ 0x的原因。