Browse > Article

C2JNI: An Embedded C to JNI Translator  

유재우 (숭실대학교 컴퓨터학부)
최종명 (목포대학교 정보공학부)
김영철 (명지전문대학)
Abstract
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.
Keywords
JNI; embedded C; legacy system;
Citations & Related Records
연도 인용수 순위
  • Reference
1 JavaCC-The Java Parser Generator, available at https://javacc.dev.java.net/
2 Halstead and Maurice H., Elements of Software Science, Elsevier North-Holland, New York, 1977
3 JavaCC Grammar Repository, available at http://www.cobase.cs.ucla.edu/pub/javacc/
4 최종명, Argos: 플러그인 지향 프로그래밍 언어, 박사학위 논문, 숭실대학교 컴퓨터학과, 2003
5 Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman, Compilers Principles, Techniques, and Tools, Addison-Wesley, 1986
6 GNU Compiler Collection, available at http://gcc.gnu.org/
7 The GNU Compiler for the Java Programming Language, available at http://gcc.gnu.org/java/
8 David M. Beazley, 'SWIG : An Easy to Use Tool for Integrating Scripting Languages with C and C++,' In Proc. of USENIX Tcl/Tk Workshop, 1996, available at http://www.swig.org/
9 Vlasimir Getov, Paul Gray, Sava Mintchev, and Vaidy Sunderam, 'Multi-Language Programming Environments for High Performance Java Computing,' In Scientific Programming, Vol. 7, No.2, pp. 139-146, 1999   DOI
10 Yan Huang, Ian Taylor, David W. Walker, and Robert Davies, 'Wrapping Legacy Codes for Grid-Based Applications,' In Proc. of IPDPS, pp, 139-145, 2003   DOI
11 Per Bothner and Tom Tromey, 'Java/C++ integration: Writing native Java methods in natural C++', available at http://www.bothner.com/${\sim}per$/papers/UsenixJVM01/CNI01.pdf
12 Sava Mintchev and Vladimir Getov. 'Automatic Binding of Native Scientific Libraries to Java,' In Scientific Computing in Object-Oriented Parallel Environments, LNCS 1343, Springer-Verlag, pp. 129-136, 1997
13 Sheng Liang, Java Native Interface: Programmer's Guide and Specification, Addison-Wesley, 1999