- 博客(12)
- 资源 (7)
- 收藏
- 关注
原创 JNI学习笔记(八)—— 调用接口
这一节的主要内容是讲如何在native程序中嵌入一个java VM。一个java的实现通常是作为一个native库运行。native程序可以和这个库链接,并且用调用接口来加载java VM。事实上,JDK或者java2 sdk的标准启动命令,就是一个简单链接了java VM的c程序。该启动器,解析命令行参数、加载VM、并且通过调用接口运行java程序。创建java虚拟机先看
2011-08-29 12:58:03 1307
原创 JNI学习笔记(七)——异常处理
我们已经碰到过在一个JNI函数调用后,native代码进行错误检查的情形。本节解释native代码如何从这些错误条件中检查和恢复。我们将关注发生错误的JNI函数调用上(而不是native代码上的二进制错误)。如果一个native方法有调用了一个系统调用,只需要简单地按照系统文件表明的方法来检查系统调用可能的失败。另一方面,native方法,呼叫了一个回调函数——java API方法,这
2011-08-29 12:56:30 4533
原创 JNI学习笔记(六)——局部和全局引用
JNI将实例、数组类型暴露为不透明的引用。native代码从不会直接检查一个不透明的引用指针的上下文,而是通过使用JNI函数来访问由不透明的引用所指向的数据结构。因为只处理不透明的引用,这样就不需要担心不同的java VM实现而导致的不同的内部对象的布局。然而,还是有必要了解一下JNI中不同种类的引用:1)JNI 支持3中不透明的引用:局部引用、全局引用和弱全局引用。2)局部和全局引用,有
2011-08-24 08:35:34 3845
原创 JNI学习笔记(五)——fields和methods
之前的学习,知道了JNI可以让native代码访问基础类型和引用类型,本章节,我们要学习如果访问一个对象的字段(其实就是对象中的变量)和方法。此外,还将学习如何在native代码调用java编程语言实现的方法——这对回调函数,尤其有用。访问字段java编程语言,支持两种字段:实例字段和static字段,(可以这么理解:实例变量和static变量)。JNI
2011-08-21 00:36:22 4923
原创 JNI学习笔记(四)——基础类型、Strings和数组
由于java编程语言和C、C++的数据类型不一致,所以在JNI和native代码直接数据类型的映射就成了问题。这里将学习java编程语言和native代码之间的类型如何转换。一个简单的native方法我们在java中实现这样一个类,保存为Prompt.java:class Prompt { public static void main(String[]
2011-08-18 15:34:58 3346
原创 JNI学习笔记(三)——HelloWorld
概述helloworld作为大多编程语言和平台的入门程序,JNI也不例外。下图展示了java程序调用JNI的例子:HelloWorld。编写这样一个程序,需要以下几个步骤,大多调用JNI的java程序也都需要有以下几个步骤:1)创建声明了native 方法的类(HelloWorld.java)。2)使用javac编译源文件,生成类文件(HelloWorld.class)。3
2011-08-17 13:57:34 1735 1
原创 JNI学习笔记(二)——JNI
JNI 是JAVA Native Interface的简称,它是java平台的一个非常有用的特性。JNI 是java平台的一部分, 应用程序使用JNI,以便在java中调用“native code”(如C、C++语言写的代码)。java平台和主机环境java平台是一个编程环境,它包含java虚拟机(VM)和java应用程序编程接口(API)。java程序由java编
2011-08-16 18:21:25 1332
转载 linux中显示中文乱码的问题
from:http://blog.csdn.net/seuxiaoqi/article/details/5577195 linux中显示中文乱码的问题分类: linux2010-05-11 09:15 818人阅读
2011-08-05 10:33:55 2094
原创 JNI 学习笔记(一)——字符串字符集转换
以下方式 总归 还是在使用使用java的string:"java/lang/String"治根的办法 还是完整地在native code 中实现。推荐可以使用开源代码icu 或者iconvandroid本身也是用了开源的库: iconv,只默认是未对外导出。先放段代码作为开头,本段主要调用java中到构造函数,本段代码实现,字符串字符集转换。jstr
2011-08-04 19:17:23 6003 2
原创 OpenGL ES 学习笔记(二)——什么是OpenGL ES
什么是OpenGL ES1)OpenGL ES 是一组面向手持嵌入式设备的、3D图形的应用编程接口。2)OpenGL ES 是一组由Khronos组织创建的APIs之一。3)OpenGL ES 是OpenGL的一个子集。由于项目用到的是ES
2011-08-03 13:57:42 1556 1
原创 OpenGL ES 学习笔记(一)
近期Android有个项目要用到 OpenGL ES 2.0 ,本对OpenGL 毫无接触的,只好硬着头皮上。参照了:1、android的开发指南:http://developer.android.com/guide/topics/graphics/opengl.
2011-08-02 16:45:38 1237 1
Linux内核完全注释
2011-02-27
UNIX环境高级编程
2009-09-18
linux环境下的网络编程
2009-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人