1. What line commands are included in J2C++?

2. Does J2C++ support all C++ constructs?

3. How is inheritance supported?

4. What about exceptions?

5. Do I need a C++ compiler?

6. Which C++ compiler can I use?

7. What are the JDK requirements for J2C++?

8. Will JDK 1.1 be supported?

9. Will J2C++ support the JDK 1.1 Java Native Interface?


1. What line commands are included in J2C++?

J2C++ includes two line commands: "mmake" and "j2cpp." The command "mmake" generates a makefile that invokes the "j2cpp" line command, as well as the C++ compiler, Java interpreter (javac) and system linker to produce a Java class file and a DLL containing the C++ wrapper class. The command "j2cpp" parses the C++ class definition file and generates the Java proxy class and C++ wrapper class.

[Goto Top]

2. Does J2C++ support all C++ constructs?

Many C++ constructs are supported, but there are limitations because not all C++ constructs can be emulated in Java. For example, multiple inheritance, templates, and member selection operators are not supported.

[Goto Top]

3. How is inheritance supported?

J2C++ supports single inheritance but not multiple inheritance. If class A derives from Class B on the C++ side, then proxy class A derives from proxy class B on the Java side.

[Goto Top]

4. What about exceptions?

Exceptions generated on the C++ side are not mapped to the Java side.

[Goto Top]

5. Do I need a C++ compiler?

Yes, some of the generated files produced by J2C++ are C++ files and need to be compiled. In addition, if the original C++ class definition file includes macros or typedefs, then the file must pass through the C++ compiler preprocessor, which is automatically invoked.

[Goto Top]

6. Which C++ compiler can I use?

Currently, J2C++ supports the VisualAge for C++ (Cset++ for AIX) compiler.

[Goto Top]

7. What are the JDK requirements for J2C++?

J2C++ requires JDK 1.0.2.

[Goto Top]

8. Will JDK 1.1 be supported?

Since the JDK 1.1 supports the JDK 1.02 native method calling convention, J2C++ supports JDK 1.1 today. However, there is a problem with the typedefs_md.h file that ships with JDK 1.1. An error results when compiling C++ wrappers. This problem can be temporarily solved by using the JDK 1.0.2 version of this header file.

[Goto Top]

9. Will J2C++ support the JDK 1.1 Java Native Interface?

Yes, look for it in a future release.

[Goto Top]