首页
社区
课程
招聘
[求助]android 使用JNI机制使用c,c++能干什么上层干不到的?
发表于: 2015-3-29 13:52 9583

[求助]android 使用JNI机制使用c,c++能干什么上层干不到的?

2015-3-29 13:52
9583
【求助】android 使用JNI机制使用c,c++能干什么上层干不到的?

其实我都不明白既然有了java为什么还需要c,c++来调用?

好像是他们能调用下层的东西,该如何调用呢?有没有相关的api?

新手,勿喷。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
是你的益达。
2015-3-29 14:12
0
雪    币: 719
活跃值: (777)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
3
原生。机器指令执行,而不是dk虚拟机。还有很多好处你懂的。
2015-3-29 14:40
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
能举一个事例么?不然我都不知道这到底有什么用...
2015-3-29 16:06
0
雪    币: 2120
活跃值: (78)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
Native层做加密,保护比较强 Java还是太弱了 很容易被破了
2015-3-29 17:36
0
雪    币: 719
活跃值: (777)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
例如你 要调用原生函数怎么办 别说用java= =你要作安全程序怎么办 别说用谷歌的sdk = =
2015-3-29 18:27
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
首先,很多语言都提供了调用其他语言的接口,这样可以对性能不足的部分进行优化,然后即使jvm本身也需要调用底层函数实现功能,比如线程的一些方法,比如并发的一些方法。。
2015-3-29 18:59
0
雪    币: 614
活跃值: (903)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
java得通过虚拟机执行,效率肯定会打折扣,加密解密,一些高效算法的实行还得靠c/c++
2015-4-8 14:35
0
雪    币: 315
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我承认,我用 jni 调用修改了 dex 在内存中运行的代码
2015-4-9 10:46
0
雪    币: 1
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
你主要没写过一写运算量比较大的算法,所以感觉C/C++没用。当你需要的时候,你才发现,没C/C++根本就做不了。C++的速度比起JAVA,估计得有10倍差距。而且在C++下能够进行一些更加深入的算法优化,例如线程并行啊,指令并行啊,全部用上,速度能再提升至少10倍。10倍剩10倍,就是100倍哦。速度压倒性的完虐JAVA。
2015-4-20 15:26
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
能够有效防止被反编译
2015-4-20 16:12
0
雪    币: 3132
活跃值: (2621)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
第一,效率高。第二,安全性高。第三,可以调用系统api
2015-4-20 23:14
0
雪    币: 12
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
还有一个好处就是
游戏公司的引擎,好多都是c/c++的,可以拿过来就用了,不需要另外从新开发。这个可以节省好多时间。
2015-4-29 23:45
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
thanks
2015-5-10 10:41
0
游客
登录 | 注册 方可回帖
返回