A Java native interface code generator is disclosed to facilitate mixed language programming, by making native code programmed in a native language accessible to Java application programs. A programmer generates a native interface definition for native code, preferably using a neutral Interface Definition Language (IDL) to describe native code components (functions, data structures, constants and other user-defined data types), for which native mappings are to be generated. The Java native interface code generator supports complex data types, including nested data structures and multi-dimensional arrays. The Java native interface code generator reads and parses the user-derived native interface definition and generates Java Classes, data conversion code stubs and related header files. The Java Classes consist of classes of native methods, as well as classes for complex data types, which are called from Java. Each native method is mapped to a function or procedure written in the native code, using the Java Native Interface (JNI). The data conversion code stubs (JNI code) convert and map the native data and functions between the native language and Java. The Java class generated for complex data types, such as structures and unions, extends another Java class, JStruct or JUnion, respectively. The JStruct and JUnion classes implement Java Serializable and Cloneable interfaces and provides the core functionality for all data structures and unions, respectively, mapped to Java objects. Each Java data structure and union "extends" the JStruct or JUnion class and thereby inherits the behavior and characteristics of the JStruct or JUnion class, including memory management features. The JStruct and JUnion classes preferably provide methods for converting between members of a native language data structure or union, as appropriate, and fields of a Java object, as well as additional memory management functionality.

Un générateur de code indigène d'interface de Java est révélé pour faciliter la langue mélangée programmant, en faisant le code indigène programmé dans une langue maternelle accessible aux programmes d'application de Java. Un programmeur produit d'une définition d'interface indigène pour le code indigène, employant de préférence une langue neutre de définition d'interface (IDL) pour décrire les composants de code indigène (fonctions, structures de données, constantes et d'autres types de données définis pour l'utilisateur), pour lesquels des tracés indigènes doivent être produits. Le générateur de code indigène d'interface de Java soutient les types de données complexes, y compris les structures de données nichées et les rangées multidimensionnelles. Le générateur de code indigène d'interface de Java indique et analyse la définition d'interface indigène utilisateur-dérivée et produit des classes de Java, des moignons de code de conversion de données et des dossiers d'en-tête relatifs. Les classes de Java se composent des classes des méthodes indigènes, aussi bien que des classes pour les types de données complexes, qui s'appellent de Java. Chaque méthode indigène est tracée à une fonction ou à un procédé écrit dans le code indigène, en utilisant l'interface indigène de Java (JNI). Les moignons de code de conversion de données (code de JNI) convertissent et tracent les données et les fonctions indigènes entre la langue maternelle et le Java. La classe de Java produite pour les types de données complexes, tels que des structures et des syndicats, prolonge classe de Java, un JStruct ou un JUnion différent, respectivement. Le JStruct et le JUnion classe l'instrument Java Serializable et les interfaces de Cloneable et fournit la fonctionnalité de noyau pour tous les structures et syndicats de données, respectivement, tracés aux objets de Java. Chaque structure et union de données de Java "prolonge" la classe de JStruct ou de JUnion et hérite de ce fait du comportement et des caractéristiques de la classe de JStruct ou de JUnion, y compris des dispositifs de gestion de mémoire. Les classes de JStruct et de JUnion fournissent de préférence des méthodes pour convertir entre les membres d'une structure de données de langue maternelle ou l'union, comme appropriée, et les champs d'un Java objectent, aussi bien que la fonctionnalité additionnelle de gestion de mémoire.

 
Web www.patentalert.com

< (none)

< Code implants for compilers

> Embedded HTML documents downloaded and displayed simultaneously with primary HTML document

> (none)

~ 00003