现在学C/C++没啥用吗?

Posted Windows开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了现在学C/C++没啥用吗?相关的知识,希望对你有一定的参考价值。


当今有很多高级语言:Java、C#、Python、Javascript、Go等,为什么还要学C/C++呢?其实,C/C++语言无处不在,桌面操作系统(Windows、Linux、Mac)、移动操作系统(androidios)、浏览器(Chrome、FireFox)、游戏引擎(Unity3D、cocos-2d)、数据库(mysql、sqlite)、高级语言的编译器和解析器、跨平台框架(QT、Flutter)等,它们的底层都是用C/C++开发。接下来,我将介绍下C/C++语言具有的四大优势。

 

运行效率高

C/C++语言是直接被编译成机器码,可以被CPU直接运行。像Java、C#、Python等高级语言都需要虚拟机解析成机器码后再交给CPU运行,所以C/C++语言运行效率高是毋庸置疑。游戏界面渲染对性能要求很高,大型的游戏前端都是使用C++实现。如果项目有部分功能需要进行性能优化,使用C/C++实现也许就是一个很好的解决方案。

 

通用性

C/C++语言编写的代码可以编译运行在各操作系统上,C/C++源码级跨平台也是一种跨平台方案。比如浏览器Chrome可以在桌面操作系统(Windows、Linux、Mac)、移动操作系统(Android、iOS)上运行,它底层的代码采用C/C++开发,来实现代码在各平台上的复用。

 

控制能力强

C/C++让你对电脑资源有很多的控制权,可以自己管理内存的使用,可以直接与硬件设备交互等。如果你正在为一款外设开发SDK,你需要用C/C++开发驱动程序和SDK。

 

互操作性

许多高级语言Java、C#、Python等都支持与C/C++互调,先用C/C++实现一个SDK,就很容易绑定成其它语言的接口。比如,开发一个后端服务提供文件存储能力,同时封装成SDK给前端使用,需要支持桌面操作系统(Windows、Linux、Mac)、移动操作系统(Android、iOS),这种场景就可以使用C/C++实现SDK,再绑定成其它语言接口(比如JNI封装成Java接口),C/C++跨平台性使得大部分代码可以被复用,差异的部分是接口的桥接。


以上是关于现在学C/C++没啥用吗?的主要内容,如果未能解决你的问题,请参考以下文章

学unix有啥用

JavaScript 现在BOM还有用吗?

DBA要掌握开发技能吗?

现在企业很多数据库软件使用的是oracle,我现在学习my sql 还有用吗?急需专业人士的回答!

计算机语言有哪些,我只知道e语言c语言C++还有别的吗?它们属于哪一类的,有啥用,菜鸟应该学啥

setNeedsDisplay:NO 有啥用吗?