赞
踩
从应用范围上来说,这些编程语言大致可以分为两种:
专用型编程语言
通用型编程语言
一门通用性的语言,并没有针对某个领域进行优化,就目前而言,它可以进行以下几种类型的开发。
虽然C语言的开发场景看起来很多,但是如果总结一下的话,无非就是:底层/系统开发 +关键组件/模块的开发 + 贴近硬件的开发,这些开发场景非常关注运行效率,或者响应时间,或者硬件资源。
虽然C语言执行速度极快,占用资源极少,但是它使用起来非常麻烦,完全没有 Java、Python、Go、JavaScript、C# 等方便和灵活,会严重拖慢项目的开发进度,所以,通常只有在「不得不」的情况下才会使用C语言。
1) 单片机/嵌入式开发
单片机开发是嵌入式开发的一个分支,或者一个子集,或者一个分支
嵌入式开发两个方向:
家电(空调、自动洗衣机、遥控器),汽车(ECU发动机控制单元、BCU车身控制单元、车辆信息检测),医疗(心电图仪、血压仪、血糖仪、监护设备),智能卡(门禁卡、公交卡、银行卡),玩具(遥控汽车、摇摇椅)
2) 桌面软件开发
也叫 GUI 开发或者 PC 软件开发
在实际应用中,C语言通常用来开发某些关键模块或者效率模块,而不是开发一个完整的软件。这些模块一般对性能有着很高的要求,同时也关注资源消耗情况,除了C语言也没有其它更好的选择了。
当然,C语言也有一个比较完整和全面的 GUI 工具包,叫做 GTK。GTK 虽然使用C语言编写,但也提供了 C++、Python、Rust、JavaScript、Perl 等其它语言的接口。
【GTK 开源免费,跨平台,在 Linux 下比较常见,著名的 GNOME 和 GIMP 就使用 GTK 开发。】
Office早期版本使用C实现核心功能,PS早期版本使用C实现核心功能,CAD和3D建模软件使用C实现渲染和计算功能,Notepad++、Sublime Text使用C实现核心的编辑功能,MySQL Workbench和SQL Server Management Studio数据库客户端软件,使用C语言来实现数据库连接、查询、管理和界面。
开发一个完整的桌面软件,那么可以使用以下的解决方案/技术栈/技术选型(以 Windows 为例说明):
3) 系统组件开发
基础组件、核心算法、硬件驱动、通信协议的实现
C语言底层开发举例:
4) 开发操作系统
这是C语言的初衷,它就是为开发操作系统而生的,UNIX、Linux、Windows 的内核就大量使用C语言。
5) 开发其它编程语言
有些编程语言的编译器(解释器)和标准库就使用C语言开发,比如 Python、PHP、Rust、Perl。
有些编程语言是在C语言的基础上进行的扩展,比如 C++、Objective-C、Swift、D语言。
由于C语言具有可移植性,适应性强,有时也被用作不同编程语言的中间语言,这样不同编程语言之间就可以共享组件/模块。把C语言作为中间件的编译器有:
6) 信号处理
C语言在电气工程领域也有很多用途,它可以使用信号处理算法来管理微处理器、微控制器等集成电路。
7) 音视频处理
C语言的速度非常快,能够快速地对音频和视频数据进行处理。音频和视频数据通常比较大,需要高效的算法和数据结构来处理,而C语言运行速度非常快,能够及时处理这些数据。
C语言提供了丰富的底层库和工具,如 FFmpeg、OpenCV 等,这些库和工具可以方便地对音频和视频数据进行编码、解码、剪辑、处理和转换等操作。
C语言支持指针和位运算等底层操作,这些操作可以对音频和视频数据进行高效的操作,如数据拷贝、移位、变换等。这些操作对于实现一些高级算法和数据结构非常有帮助。
8) 数据库开发
数据库是软件领域的基础设施,它的性能直接影响整个应用程序的运行效率,所以必须使用一种高效的语言进行开发。
使用C语言开发的数据库有:MySQL、SQLite、PostgreSQL、Oracle Database、Microsoft SQL Server。
开发工具
基本数据结构
函数
模块
进阶
并发
网络编程
web开发
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。