前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >现在学C/C++没啥用吗?

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

作者头像
gaigai
发布2021-03-24 11:22:00
5790
发布2021-03-24 11:22:00
举报
文章被收录于专栏:Windows开发Windows开发

当今有很多高级语言:Java、C#、Python、Javascript、Go等,为什么还要学C/C++呢?其实,C/C++语言无处不在,桌面操作系统(Windows、Linux、Mac)、移动操作系统(Android、iOS)、浏览器(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++跨平台性使得大部分代码可以被复用,差异的部分是接口的桥接。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Windows开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档