• Title/Summary/Keyword: JNI

Search Result 51, Processing Time 0.036 seconds

C2JNI: An Embedded C to JNI Translator (C2JNI: 내장 C 언어에서 JNI 코드를 생성하는 변환기)

  • 유재우;최종명;김영철
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.11
    • /
    • pp.1551-1559
    • /
    • 2004
  • Java, a platform independent object-oriented programming language, is widely used, however it should be integrated with JNI to use system services or to reuse legacy systems. Though JNI provides the standard APIs which allow Java to be combined with C/$C^{++}$, it is very hard and cumbersome for developers to use JNI APIs. In order to address this problem, we introduce a translator named C2JNI, which converts the embedded C program into a JNI compatible C program. With C2JNI, developers can Integrate Java and C programs without JNI APIs, and it will reduce the complexity caused by JNI APIs.

Design and Implementation of JPP(JNI Preprocessor) (JPP(JNI 전처리기)의 설계 및 구현)

  • Lee, Chang-Hwan;O, Se-Man
    • The KIPS Transactions:PartA
    • /
    • v.9A no.1
    • /
    • pp.129-136
    • /
    • 2002
  • JNI is a linkage method to other languages such as C/C++ which enables the Java to do the platform-dependent specific tasks and also, it can be used to reuse the existing libraries and programs. However, the complex and difficult steps are required to use JNI and it is Inconvenient to manipulate Java source and C/C++ source separately. We design and implement the JPP (Java Preprocessor) that enables the Java source and C/C++ source to handle in a same source file and reduces the required steps so as to use JNI easily.

Mixed-mode execution environment using the JNI (JNI를 사용한 혼합형 실행 환경)

  • Kim Sang-Hoon
    • The Journal of Information Technology
    • /
    • v.5 no.4
    • /
    • pp.35-44
    • /
    • 2002
  • The tradeoff of Java's portability is the inefficiency of interpretation. Also, the standard Java class library may not support the platform-dependent features needed by your application. Several solutions have been proposed to overcome these problems, such as JNI, JIT, off-line bytecode compilers. In this paper, we present an mixed-mode execution model which Java virtual machine executes together with native code. This execution model and its translator preserves the ability to dynamically load bytecode, and reduce the difficulties of JNI usages. Our system is more efficient than JIT, and helps programmer to write C implementation for the native method without the concept of JNI.

  • PDF

Integrated Development Environment for Java Native Methods (자바 네이티브 메소드를 위한 통합 개발 환경)

  • Kim, Sang-Hoon
    • The Journal of the Korea Contents Association
    • /
    • v.10 no.7
    • /
    • pp.122-132
    • /
    • 2010
  • As a result of a growing demand for various mobile devices, the demand for application programs on the devices is on the rise. The Java language that is platform-independent rapidly rose as the best programming language for mobile devices. However, the Java has a problem that does not support platform-dependent features needed by the application. To solve this problem, the JNI technology was introduced by Sun Microsystems. Programmers using the JNI to write native methods need to have a lot of knowledge about the JNI and the internal structure of the JVM. Also, the increased load by using a number of JNI functions may decrease software productivity and quality. Demands for tools writing native method without understanding of JNI are progressively increasing. To develop these tools, it is necessary to translate automatically the differences between Java and C/C++. In this study, I suggested a way to overcome differences between both languages and developed JNI editor that is an integrated develope environment on the basis of this.

Rendering Technology Processing on Native Space of JNI (JNI의 Native영역에서 처리하는 렌더링 기법)

  • 신용경;박지현;김미영;정재일;이현주;김상욱
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2001.11a
    • /
    • pp.182-186
    • /
    • 2001
  • 효율적인 스트리밍을 지원하기 위하여 JNI(Java Native Interface)를 이용한 플레이어를 구현한다. 미디어 플레이어는 전달 관리기, A/V 디코더, 렌더링 모듈, 자바 그래픽 라이브러리로 구성하고, 렌더링 모듈은 JNI Export Manager, Java Scene Manager, Drawing Manager,NJI API로 구성한다. 디코딩 된 스트림은 자바가 읽어들일 수 있는 객체 타입으로 변환하는 JNI Export Manager와 장면 구성하는 Java Scene Manager, 자바 그래픽 라이브러리를 이용하여 실제 화면에 드로잉하는 Drawing Manager를 통하여 재생한다. 본 논문은 Java Scene Manager를 Native 영역에서 처리하여 디코딩 된 스트림 객체를 전달받아 RGB변환하고, 장면 구성정보를 이용하여 장면을 구성하여 최종적으로 JNI Export Manager에게 전달한다. 따라서 장면을 구성하기 위한 정보를 JNI API를 통하여 전달할 필요가 없으므로 그 만큼의 성능 향상을 보이고, Native 영역에서 처리하므로 자바 언어에서 처리하는 것보다 효율적이다. 이는 성능 비교표를 통하여 재생시간 향상을 보인다.

  • PDF

Using Java Objects in C through the JNI Function Calls (JNI 잠수 호출을 통한 C에서의 자바 객체 사용)

  • 이창환;오세만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04b
    • /
    • pp.340-342
    • /
    • 2002
  • JNI는 자바와 네이티브 코드간에 상호 연동을 위해서 사용되는 인터페이스이고, JNI를 이용하면 C에서 자바 객체를 사용할 수 있다 C에서 자바 객체에 대한 연산을 하기 위해서는 객체 연산의 종류에 따른 일정한 JNI 함수 호출 패턴을 이용해야 한다. 사용자가 직접 자바에 대한 연산을 기술하는 경우, 사용자는 복잡한 함수 호출 패턴을 익히고 패턴에 필요한 정보를 직접 입력해야 하며, 패턴의 잘못된 기술과 올바르지 않은 정보의 입력에 따른 오류 발생할 가능성이 높은 문제점이 있다. 본 논문에서는 자바에서 점(".") 연산자를 사용하여 객체에 대해 연산하는 것처럼 C에서도 점 연산자를 사용하여 자바 객체에 대한 연산할 수 있는 방법을 제안하고 구현하였다. 제안된 방법은 점 연산자를 사용한 자바 객체에 대한 연산을 같은 의미를 가지는 여러 JNI 함수 호출로 변환하는 것으로, 사용자가 직접 기술해서 발생하는 여러 문제점을 제거하여 사용의 복잡성과 오류 생성의 발생 가능성을 줄이는 장점을 가지고 있다.

  • PDF

Translation of Java Bytecode into C code with the JNI (자바 바이트코드로부터 JNI를 사용한 C 코드의 변환)

  • 권혜은;김상훈
    • The Journal of Information Technology
    • /
    • v.4 no.1
    • /
    • pp.1-7
    • /
    • 2001
  • The well-known tradeoff of Java's portability is the inefficiency of its basic execution model, which relies on the interpretation of an virtual machine. Many solutions have been proposed to overcome this problem, such as just-in-time(JIT) and offline bytecode compilers. However, JIT compiler can not avoid the overhead of runtime. since it translate bytecode into native code at runtime. And, pure offline bytecode compiler limits the ability of dynamic class loading. In this paper, we present an approach which preserves the ability to dynamically load bytecode, and is more efficient than JIT. In contrast to existing bytecode-to-C translator using the old NMI, our translator maintain complete compatibility and portability through using the Java Native Interface(JNI) standard. We have designed and implemented an translator for converting bytecode to C code with JNI.. named MyJNItool.

  • PDF

Java and C/C++ Mixed Programming (자바와 C/C++의 혼합 프로그래밍)

  • Kim, Sang-Hoon
    • Journal of Korea Multimedia Society
    • /
    • v.13 no.10
    • /
    • pp.1514-1524
    • /
    • 2010
  • The standard Java class library does not support the platform-dependent features needed by the application. Therefore, the Java application including the platform -dependent features must supplement the required features by invoking native functions using JNI. The native language programmer has to explicitly specify how to connect to various Java objects and later to disconnect from them. In this paper, I suggest a way to avoid these annoying works. The native method in the pure java class can not contain a native code block. By providing a native code block for the native method, it is possible for programmer to write a native code without being aware of JNI. To achieve this, I introduced the native class that is a java class on the native environment, and made it possible to interchange data by placing an arbitrator between the java class and the native class.

Development of Smart Fingerprint Recognition System with Android Platform (안드로이드 플랫폼을 탑재한 스마트 지문인식장치 개발)

  • Lee, Kap Rai
    • Journal of Institute of Control, Robotics and Systems
    • /
    • v.18 no.11
    • /
    • pp.1018-1026
    • /
    • 2012
  • This paper presents a developing method of smart fingerprint recognition system. First, we design a hardware configuration circuit using a 32bit Risc CPU, a fingerprint sensor, a LCD, and a WiFi communication chip to realize the smart fingerprint recognition systems. It is necessary to develop a JNI (Java Native Interface) library and a device drive program of fingerprint sense to develop application program of fingerprint recognition system with Android platform. Thus second, we develop a device drive and a JNI program. And we also develop an application program of fingerprint recognition systems using developed JNI library. Finally test results are presented to illustrate the performance of the developed smart fingerprint recognition system.

Implementation of Face Detection System on Android Platform for Real-Time Applications (실시간 응용을 위한 안드로이드 플랫폼에서의 안면 검출 시스템 구현)

  • Han, Byung-Gil;Lim, Kil-Taek
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.8 no.3
    • /
    • pp.137-143
    • /
    • 2013
  • This paper describes an implementation of face detection technology for a real-time application on the Android platform. Java class of Face-Detection for detection of human face is provided by the Android API. However, this function is not suitable to apply for the real-time applications due to inadequate detection speed and accuracy. In this paper, the AdaBoost based classification method which utilizes Local Binary Pattern (LBP) histogram is employed for face detection. The face detection module has been developed by C/C++ language for high-speed image processing, and this module is included to the Android platform using the Java Native Interface (JNI). The experiments were carried out in the Java-based environment and JNI-based environment. The experimental results have shown that the performance of JNI-based is faster than Java-based method and our system is well enough to apply for real-time applications.