什么是 Port Layer
长久以来
![](/icons/69581dou.gif)
![](/icons/69581chengxu.gif)
![](/icons/69581de.gif)
跨平台能力
![](/icons/69581yi.gif)
直是
![](/icons/69581chengxu.gif)
员努力
![](/icons/69581de.gif)
方向:从最早期
![](/icons/69581de.gif)
微
![](/icons/69581chengxu.gif)
![](/icons/69581dou.gif)
到 POSIX 标准;从 COBRA 到 COM/COM+
![](/icons/69581dou.gif)
再到 Java “Write _disibledevent= portLibrary-> error_last_error_number(portLibrary);
可以记录当前
![](/icons/69581de.gif)
![](/icons/69581cuowu.gif)
代码
![](/icons/69581dou.gif)
以及他们
![](/icons/69581de.gif)
![](/icons/69581de.gif)
![](/icons/69581cuowu.gif)
信息
![](/icons/69581dou2.gif)
资源释放
完成所有
![](/icons/69581de.gif)
任务的后
![](/icons/69581dou.gif)
我们应该释放所有申请
![](/icons/69581de.gif)
资源
![](/icons/69581dou.gif)
同时
![](/icons/69581dou.gif)
在结束时使用:
Harmony Port Library
![](/icons/69581de.gif)
使用 - 释放Port Library
I_32 VMCALL hyport_shutdown_library (struct HyPortLibrary * portLibrary);
来释放 Port Library
![](/icons/69581dou2.gif)
编译运行
在完成代码编写的后
![](/icons/69581dou.gif)
我们可以把这些代码编译后和 port library 链接成.DLL(.so)文件
![](/icons/69581dou.gif)
并在 Java 层用
![](/icons/69581System.gif)
.loadLibrary(filename)
![](/icons/69581de.gif)
方式载入
![](/icons/69581dou.gif)
这样就可以
![](/icons/69581diaoyong.gif)
该 native method 了
![](/icons/69581dou2.gif)
而在 Harmony
![](/icons/69581de.gif)
开发过程中
![](/icons/69581dou.gif)
VM 会自己装载动态链接库
![](/icons/69581dou.gif)
可以直接
![](/icons/69581diaoyong.gif)
![](/icons/69581dou2.gif)
结束语
Harmony Port Layer 是 Harmony 项目
![](/icons/69581de.gif)
重要部分
![](/icons/69581dou.gif)
它为上层
![](/icons/69581de.gif)
Java 虚拟机和类库
![](/icons/69581de.gif)
本地代码提供了
![](/icons/69581yi.gif)
个平台无关
![](/icons/69581de.gif)
标准 C 语言 API 访问系统
![](/icons/69581diaoyong.gif)
![](/icons/69581dou2.gif)
通过使用 Harmony Port Library
![](/icons/69581dou.gif)
Harmony 项目才能够开发出平台无关
![](/icons/69581de.gif)
内存、线程管理
![](/icons/69581dou.gif)
JNI
![](/icons/69581dou.gif)
和为类库服务
![](/icons/69581de.gif)
native 代码
![](/icons/69581dou.gif)
并且大大提高了可移植性和
![](/icons/69581chengxu.gif)
![](/icons/69581de.gif)
可维护性
![](/icons/69581dou2.gif)
在未来
![](/icons/69581de.gif)
开发过程中
![](/icons/69581dou.gif)
Harmony Port Library 在增加新
![](/icons/69581de.gif)
功能
![](/icons/69581dou.gif)
更好
![](/icons/69581de.gif)
为
![](/icons/69581class.gif)
lib 服务的外
![](/icons/69581dou.gif)
也将支持更多
![](/icons/69581de.gif)
平台
![](/icons/69581dou.gif)
如 OS X
![](/icons/69581dou.gif)
和 64 位操作系统等等
延伸阅读
最新评论