您的位置:首页 > 编程语言 > C语言/C++

从编程到设计之路:Java 与 C/C++整合的JNI设计

2015-08-17 10:04 555 查看
从编程到设计之路:
Java 与 C/C++整合的JNI设计

<< 高焕堂演讲主题 >>
主题:从编程到设计之路:Java 与 C/C++整合的JNI设计地点:杭州.浙江大學 (2014/6/5)下载:高焕堂的演讲PPT

<< 內容說明 >> ☆ 无论是C++或Java,都是从C语言的struct数据结构和function代码结构为基础,而发展出来的。因此,Java与C/C++可以进行无缝对接的设计。如下图:

☆ 以上是两个观点(视角)的交叉,C语言是从函数观点切入,看到了函数的代码指挥计算机硬件去处理(Process)数据。如下图:


☆ 在这C语言函数视角里,人们的思维和表达形式为:请电脑打开Led灯,或关闭Flash灯。电脑代码则可表示为:turnOn(Led灯),或者:turnOff(Flash灯)。☆ 现在,可变换成为Java语言的对象(数据)视角。此时,人们的思维和表达形式转变成为:请Led灯自己打开,或请Flash灯自己关闭。电脑代码则可表示为:Led灯.turnOn,或者:Flash灯.turnOff。如下图:

☆ 于是,把原来C语言的函数(如turnOn)打包进去Light类里,然后创建Light类的对象,再透过Light对象去调用turnOn()函数来打开自己。如下图:

☆ 上图里的turnOn()和turnOff()函数里的代码,可以使用Java来写,也可以使用C/C++语言来写。 ☆ 如果使用C/C++来写,就定义了JNI来建立Java与C/C++之间的沟通接口标准了。如下图:


☆ 还有许多重要技术。例如,无论是C或Java都必须将目前对象(Current Object)指针传给C函数。让C函数可指向目前对象,以便存取对象的内部属性质或调用类里的其它函数。☆ 请下载高老师的PPT,有详细说明,下载:高焕堂的演讲PPT
高老师的先进课程(请点击此图)…


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C C++ Java JNI