In this topic, the following HPCJ limitations are discussed:
Linking Using Object Modules
Currently, you cannot use the hpj command to
simply bind a number of .o files into a DLL; for instance, the
command hpj -main foo *.o will not work.
Information about using the hpj command and its
options is found in the topic Building Executables and DLLs and
the topic hpj Command.
Long Filenames
The loader
does not support long filenames for DLLs. Until long filenames
are supported by the loader, the HPCJ support for DLLs is
restricted. For compound DLLs, the name cannot be longer than 8
characters. For simple DLLs, the filename is the same as the
class name. If the class name is not longer than 8 characters,
then the simple DLL will use the class name as its filename.
Otherwise, an attempt is made to automatically generate an
acceptable filename by truncating the class name to 8 characters.
If it is found that the truncated class name is not unique, then
the class name is truncated further to allow a unique numeric
value to be appended. Once it is determined that the class name
is unique, the class name becomes the filename of the simple DLL
file and the full class name is stored in the extended attributes
(EA data) associated with the file. The original class name is
used to resolve the class at run time. Additional information
about simple and compound DLLs is found in the topic Java
Executables and DLLs.
Java API Support
This release of HPCJ supports the Java 1.1.1 APIs with the
exceptions of the ClassLoader.defineClass() API, the JNI API
DestroyJavaVM(), and the JNI API DefineClass().
There is no support for the dynamic loading of bytecodes using the ClassLoader.defineClass() API and the related JNI API DefineClass(). However, the Class.forName() method (and other similar class loading APIs) will work if you have used HPCJ to compile a class into a DLL and it is accessible through your classpath setting.
The APIs Runtime.traceInstructions() and Runtime.traceMethodCalls() are not implemented and, if invoked, just return.
Language Features
The following language features are not implemented or
are only partially implemented: