为什么需要ndk

6 篇文章 0 订阅
2 篇文章 0 订阅
本文讨论了Android NDK的使用原因,包括跨平台开发、利用C/C++库提高效率以及在需要超级权限的场景下执行脚本。同时,作者也分享了对C++语言的看法,指出其在特定场景下的优势和现代开发趋势。
摘要由CSDN通过智能技术生成
为什么需要ndk?
1. 跨平台
有些产品是需要放到多个平台下的,osx, windows, ios, Android,一些后台操作直接用C++编写,ios和osx是支持C++的,Android使用ndk,windows可以用宏定义作适当的适配。

2. 使用成熟的C,C++库
a. 开源库,这个不必多说。b. 自己公司里面成熟的私有库,过往产品很可能都是基于这些库的。

3. 效率
一些图片处理等耗时的操作,会放到C层来实现。

4. 需要在su上执行的脚本
比如说截屏。需要超级权限,在su shell上执行。

============
既然谈到ndk,就顺便谈谈对C++的看法吧。

关于语言之争一直存在。也有人用刀做对比,凸显出C++的复杂性。


C++复杂?或许吧。
我记得以前的一个总监提过,我们只是用C++的一部分。的确,我们常用的仅仅是C++的一个小小的子集,并不需要什么都掌握的,更何况,一个项目中能用到多少特性了。

很久以前我在做pdf文档解析的时候,时间关系,我对自己写的代码并不是很满意,至少我个人觉得还是有很大的提升空间的。但是产品出来之后,总监很是满意,还特意比较了下市面上的产品,我的解析速度还更快点。这就是C++的魅力所在。

但是
C++工程师水准良莠不齐,不够严谨的工程师犯下错误之后,比较难定位。这就是越来越多企业渐渐不用C++的缘故之一。
更何况,企业都是资本驱动型的,在硬件过剩,并且相对廉价的时代,都会选择开发效率高,并且容错能力强的新一代脚本语言,即便是小白也很容易上手。
时代一直在变,C++兴起过,也会有不受欢迎的时候,但是离淘汰尚远,也有自己的使用领域,好比汇编语言的生命周期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值