当前位置:  开发笔记 > 编程语言 > 正文

这几天用C编程了哪些应用程序?

如何解决《这几天用C编程了哪些应用程序?》经验,为你挑选了5个好方法。

当我在20年前的大学时,C是我们选择的语言,因为当时它几乎是城里唯一的通用编程语言游戏.我们学会了使用C编程.它用于系统编程,数据结构,操作系统以及其他所有东西.基于文本的控制台I/O是与计算机交互的主要方式.图形用户界面很少见,网络编程根本不存在.

向前推进20多年.我们有很多专业的语言.例如,PHP适用于Web编程.用C编写Web应用程序会很疯狂,但同样用PHP进行系统编程也是疯狂的.

我不再写C了.可以这么说,我已经离开了这个语言的当前行业用途.我知道它用于内核开发,微控制器等.还有什么?

使用C的关键行业是什么,因为它是这项工作的最佳语言?对于哪种应用是C的首选?



1> user172818..:

C的最重要特征之一是其便携性.在x86上,你几乎拥有所有编程语言,但在其他一些架构中,C通常是除了汇编之外的唯一选择.可移植性的另一个含义是,正如有人指出的那样,大多数其他编程语言都有C绑定.当您拥有C库时,您可以相对轻松地使用Perl或Python API,其速度与本机C库相当.此外,C编译器通常比C++编译器更强大,更成熟.有人告诉我,这是Linux内核用C语言编写的原因之一.



2> joemoe..:

我使用C进行非系统编程.我的工作与生物信息学有关.我使用C的原因是因为有很多非常好的C库,而且这些例程非常耗费处理器.

C也可以轻松绑定到其他语言.因此,您可以在C中构建一个库,并使其可以使用C++,Python,Java,.NET,Ruby,PHP等.反之则并非如此简单.



3> joel.neely..:

可能会看到编写新C代码的原因包括:

    仍然需要访问"裸机"(设备驱动程序等)的代码.

    图书馆例程(请从其他语言调用,请)性能至关重要.

    与现有C代码库的互操作性.

    严重资源限制限制解决方案的环境(例如嵌入式控制器).

真的,通用的应用程序代码(特别是在循环中有人的地方)......不是那么多.



4> Michael Borg..:

任何接近硬件的设备 - 设备驱动程序和嵌入式系统最为突出.C的抽象级别有助于提供一些可移植性的东西,但更多的东西会妨碍.



5> Bob Murphy..:

这些天我主要从事Linux工作,并且用C语言而不是C++或其他东西编写了大量的Linux代码.

Linux内核有很好的理由,就此而言,其他内核如Darwin,各种BSD发行版等都是用C语言编写的.这里有几个:

C通常被称为"可移植汇编语言".精神上"编译"目标CPU的简单C语句是相当容易的,并想象在指令和寄存器等方面会发生什么.而且你真的希望能够在操作OS内核时这样做.

你可能无法在内核中使用很多库例程,比如malloc()或printf(),因为它们在该上下文中是不安全的.您必须使用特殊的内核等效项.C++的问题在于,很多人认为基本的语言特性,比如新的运算符或iostream或堆栈上的自动对象构造,在内核中的默认配置是不安全的.你可能能够破解可以工作的东西,但是坚持使用已知的,有效的解决方案,就是使用C.

代码库已经用C语言编写,将它转换为C++将是一项巨大的工作.

对于给定的CPU架构,从C生成的代码非常标准化.C++不是这样,特别是对于模板和内联函数这样的东西.来自C++的机器语言非常难以预测,而且一些C++编译器产生了非常臃肿的代码.这不是你想要的内核,它的代码需要尽可能可预测,快速和小.

Linux中的许多其他"用户空间"功能也是用C语言编写的.我使用的一些组件包括X Windows,GLib/GObject,GDK/GTK,Cairo,Pango和Clutter.所有这些都可以用C++编写或重写,但在Linux世界中似乎更倾向于使用C语言.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有