InglésFrancésAlemánItalianoPortuguésrusoEspañol

icono de página de OnWorks

mips64el-linux-gnuabi64-gcj - Online en la nube

Ejecute mips64el-linux-gnuabi64-gcj en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando mips64el-linux-gnuabi64-gcj que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


gcj: compilador avanzado para el lenguaje Java

SINOPSIS


gcj [-Idir...] [-d dir...]
[--RUTA DE CLASE=camino] [--classpath=camino]
[-fopción...] [- codificación=nombre ]
[--principal=nombre de la clase] [-Dnombre [=VALORAMOS] ...]
[-C] [--recurso nombre del recurso] [-d directorio]
[-Wadvertir...]
archivo fuente...

DESCRIPCIÓN


As gcj es solo otra interfaz para gcc, admite muchas de las mismas opciones que gcc.
Este manual solo documenta las opciones específicas para gcj.

OPCIONES


Entrada y salida archivos
A gcj el comando es como un gcc comando, ya que consta de una serie de opciones y archivos
nombres. Se admiten los siguientes tipos de nombres de archivos de entrada:

presentar.Java
Archivos fuente de Java.

presentar.clase
Archivos de código de bytes de Java.

presentar.zip
presentar.jar
Un archivo que contiene uno o más archivos ".class", todos los cuales están compilados. los
el archivo puede estar comprimido. Archivos en un archivo que no terminan con .clase son
tratados como archivos de recursos; se compilan en el archivo de objeto resultante como núcleo:
URL.

@presentar
Un archivo que contiene una lista de nombres de archivos de entrada separados por espacios en blanco. (Actualmente, estos
todos deben ser archivos de origen ".java", pero eso puede cambiar). Cada archivo con nombre se compila,
como si hubiera estado en la línea de comandos.

bibliotecas.a
bibliotecas.asi que
-lnombrelib
Bibliotecas para usar al vincular. Ver el gcc manual.

Puede especificar más de un archivo de entrada en el gcj línea de comando, en cuyo caso
todos se compilarán. Si especifica un "-o NOMBRE DEL ARCHIVO" opción, todos los archivos de entrada serán
compilados juntos, produciendo un solo archivo de salida, llamado NOMBRE DEL ARCHIVO. Esto está permitido incluso
cuando se usa "-S" o "-c", pero no cuando se usa "-C" o "--resource". (Esta es una extensión
más allá de lo que llano gcc permite.) (Si se especifica más de un archivo de entrada, todos deben
actualmente son archivos ".java", aunque esperamos solucionar este problema).

Entrada de pago
gcj tiene opciones para controlar dónde busca los archivos que necesita. Por ejemplo, gcj podría
necesita cargar una clase a la que hace referencia el archivo que se le ha pedido que compile. Igual que
otros compiladores para el lenguaje Java, gcj tiene una noción de clase camino. Existen
varias opciones y variables de entorno que se pueden utilizar para manipular la ruta de clases.
Cuando te gcj busca una clase determinada, busca en la ruta de clases buscando coincidencias .clase
or .Java archivo. gcj viene con una ruta de clase incorporada que apunta a la instalación
libgcj.jar, un archivo que contiene todas las clases estándar.

En el texto a continuación, un componente de directorio o ruta puede referirse a un directorio real
en el sistema de archivos, o en un .zip or .jar archivo, que gcj buscará como si fuera un
directorio.

-Idir
Todos los directorios especificados por "-I" se mantienen en orden y se anteponen a la ruta de clases.
construido a partir de todas las demás opciones. A menos que sea compatible con herramientas como "javac"
es importante, recomendamos utilizar siempre "-I" en lugar de las otras opciones para
manipular la ruta de clases.

--classpath =camino
Esto establece la ruta de clases en camino, una lista de rutas separadas por dos puntos (en Windows
sistemas, una lista de rutas separadas por punto y coma). Esto no anula la función incorporada.
("arranque") ruta de búsqueda.

--CLASSPATH =camino
Sinónimo obsoleto para "--classpath".

--bootclasspath =camino
Dónde encontrar las clases integradas estándar, como "java.lang.String".

--extdirs =camino
Para cada directorio en el camino, coloque el contenido de ese directorio al final de la
ruta de clases.

RUTA DE CLASE
Esta es una variable de entorno que contiene una lista de rutas.

La ruta de clases final se construye así:

* Primero vienen todos los directorios especificados a través de "-I".

* Si --classpath se especifica, se agrega su valor. De lo contrario, si el "CLASSPATH"
se especifica la variable de entorno, luego se agrega su valor. De lo contrario, la corriente
Se adjunta el directorio (".").

* Si se especificó "--bootclasspath", agregue su valor. De lo contrario, agregue el
directorio del sistema, libgcj.jar.

* Finalmente, si se especificó "--extdirs", agregue el contenido de la especificación
directorios al final de la ruta de clases. De lo contrario, agregue el contenido del
Extdirs incorporados en "$ (prefijo) / share / java / ext".

El archivo de clase construido por gcj para la clase "java.lang.Object" (y colocado en "libgcj.jar")
contiene un atributo especial de longitud cero "gnu.gcj.gcj-compiled". El compilador busca
este atributo al cargar "java.lang.Object" e informará un error si no se encuentra,
a menos que se compile en bytecode (la opción "-fforce-classes-archive-check" se puede utilizar para
anule este comportamiento en este caso particular.)

-fforce-clases-verificación-de-archivo
Esto obliga al compilador a buscar siempre el atributo especial de longitud cero.
"gnu.gcj.gcj-compiled" en "java.lang.Object" y emite un error si no se encuentra.

-fsource =VERSIÓN
Esta opción se utiliza para elegir la versión de origen aceptada por gcj. El valor predeterminado es 1.5.

Codificaciones
El lenguaje de programación Java utiliza Unicode en todo momento. En un esfuerzo por integrarse bien
con otras localizaciones, gcj permite .Java archivos que se escribirán utilizando casi cualquier codificación. gcj
sabe cómo convertir estas codificaciones en su codificación interna en el momento de la compilación.

Puede utilizar el "--encoding =NOMBRE" opción para especificar una codificación (de un carácter particular
set) para usar con los archivos fuente. Si no se especifica, la codificación predeterminada proviene de
su localidad actual. Si su sistema host no tiene suficiente soporte local, entonces gcj
asume que la codificación predeterminada es la UTF-8 codificación de Unicode.

Para implementar "--encoding", gcj simplemente usa la rutina de conversión "iconv" de la plataforma anfitriona.
Esto significa que en la práctica gcj está limitado por las capacidades de la plataforma anfitriona.

Los nombres permitidos para el argumento "--encoding" varían de una plataforma a otra (ya que
no están estandarizados en ninguna parte). Sin embargo, gcj implementa la codificación nombrada UTF-8
internamente, por lo que si elige usar esto para sus archivos de origen, puede estar seguro de que
funcionará en todos los hosts.

Advertencias
gcj implementa varias advertencias. Al igual que con otros genéricos gcc advertencias, si una opción del
formulario "-Wfoo" habilita una advertencia, luego "-Wno-foo" la deshabilitará. Aquí hemos elegido
documentar la forma de la advertencia que tendrá efecto, siendo el valor predeterminado el
lo contrario de lo que se enumera.

-Modificadores-de-Wredundant
Con esta bandera gcj advertirá sobre modificadores redundantes. Por ejemplo, advertirá
si un método de interfaz se declara "público".

-Wextraneo-punto y coma
Esto causa gcj para advertir sobre declaraciones vacías. Las declaraciones vacías han sido
obsoleto.

-Wno-desactualizado
Esta opción causará gcj no advertir cuando un archivo fuente es más nuevo que su coincidencia
archivo de clase. Por defecto gcj advertirá sobre esto.

-Wno-obsoleto
Advertir si se hace referencia a una clase, método o campo obsoleto.

-Wunused
Esto es lo mismo que gcces "-Wunused".

-Pared
Esto es lo mismo que "-Modificadores-Wredundant -Wextraneo-punto y coma -Wunused".

Enlace
Para convertir una aplicación Java en un programa ejecutable, debe vincularla con los
bibliotecas, al igual que para C o C ++. El vinculador busca por defecto una función global llamada
"principal". Dado que Java no tiene funciones globales, una colección de clases de Java puede
tiene más de una clase con un método "principal", debe informar al vinculador cuál de
esos métodos "principales" que debe invocar al iniciar la aplicación. Puedes hacer eso en
cualquiera de estas formas:

* Especifique la clase que contiene el método "principal" deseado al vincular la aplicación,
utilizando el indicador "--main", que se describe a continuación.

* Vincular los paquetes de Java a una biblioteca compartida (dll) en lugar de a un ejecutable. Luego
invocar la aplicación usando el programa "gij", asegurándose de que "gij" pueda encontrar el
bibliotecas que necesita.

* Vincular los paquetes de Java con el indicador "-lgij", que se vincula en la rutina "principal"
desde el comando "gij". Esto le permite seleccionar la clase cuyo método "principal"
desea ejecutar cuando ejecuta la aplicación. También puede utilizar otras banderas "gij", como
Indicadores "-D" para establecer propiedades. Usando la biblioteca "-lgij" (en lugar de la biblioteca "gij"
programa del mecanismo anterior) tiene algunas ventajas: es compatible con estática
vinculación, y no requiere configurar o instalar bibliotecas.

Estas opciones de "gij" se relacionan con la vinculación de un ejecutable:

--main =NOMBRE DE LA CLASE
Esta opción se utiliza al vincular para especificar el nombre de la clase cuyo método "principal"
debe invocarse cuando se ejecuta el ejecutable resultante.

-Dnombre [=VALORAMOS]
Esta opción solo se puede utilizar con "--main". Define una propiedad del sistema llamada nombre
con valor VALORAMOS. Si VALORAMOS no se especifica, por defecto es la cadena vacía.
Estas propiedades del sistema se inicializan al inicio del programa y se pueden recuperar
en tiempo de ejecución utilizando el método "java.lang.System.getProperty".

-lgij
Cree una aplicación cuyo procesamiento de línea de comandos sea el del comando "gij".

Esta opción es una alternativa al uso de "--main"; no puede usar ambos.

-static-libgcj
Esta opción hace que la vinculación se realice con una versión estática del tiempo de ejecución libgcj
Biblioteca. Esta opción solo está disponible si existe la compatibilidad con el vinculador correspondiente.

Precaución: El enlace estático de libgcj puede hacer que se omitan partes esenciales de libgcj.
Algunas partes de libgcj usan la reflexión para cargar clases en tiempo de ejecución. Dado que el enlazador lo hace
Si no ve estas referencias en el momento del enlace, puede omitir las clases a las que se hace referencia. los
El resultado suele ser (pero no siempre) una "ClassNotFoundException" que se lanza en tiempo de ejecución.
Se debe tener precaución al utilizar esta opción. Para obtener más detalles, consulte:
<http://gcc.gnu.org/wiki/Statically% 20linking% 20libgcj>

Código Generación
Además de los muchos gcc opciones que controlan la generación de código, gcj tiene varias opciones
específico a sí mismo.

-C Esta opción se usa para decir gcj para generar bytecode (.clase archivos) en lugar de objeto
código.

--recurso nombre del recurso
Esta opción se usa para decir gcj para compilar el contenido de un archivo dado en código objeto
por lo que se puede acceder en tiempo de ejecución con el controlador de protocolo central como centro:/recurso-
nombre . Tenga en cuenta que nombre del recurso es el nombre del recurso que se encuentra en tiempo de ejecución; por
Por ejemplo, podría usarse en una llamada a "ResourceBundle.getBundle". El archivo real
El nombre que se compilará de esta manera debe especificarse por separado.

-ftarget =VERSIÓN
Esto se puede utilizar con -C para elegir la versión de bytecode emitida por gcj. La
por defecto es 1.5. Cuando no se genera código de bytes, esta opción no tiene ningún efecto.

-d directorio
Cuando se usa con "-C", esto hace que todos los generados .clase archivos para poner en el
subdirectorio apropiado de directorio. De forma predeterminada, se colocarán en subdirectorios.
del directorio de trabajo actual.

-fno-límites-comprobar
De forma predeterminada, gcj genera código que verifica los límites de toda la indexación de matrices
operaciones. Con esta opción, estas comprobaciones se omiten, lo que puede mejorar el rendimiento.
para código que usa matrices de manera extensiva. Tenga en cuenta que esto puede resultar en impredecibles
comportamiento si el código en cuestión realmente viola las restricciones de los límites de la matriz. Eso
Es seguro usar esta opción si está seguro de que su código nunca arrojará un
"ArrayIndexOutOfBoundsException".

-fno-tienda-cheque
No genere comprobaciones de almacenamiento de matrices. Al almacenar objetos en matrices, una verificación de tiempo de ejecución
normalmente se genera para garantizar que la asignación del objeto sea compatible con
el tipo de componente de la matriz (que puede no conocerse en tiempo de compilación). Con este
opción, estas comprobaciones se omiten. Esto puede mejorar el rendimiento del código que almacena
objetos en matrices con frecuencia. Es seguro utilizar esta opción si está seguro de que
el código nunca arrojará una "ArrayStoreException".

-fjni
Con gcj hay dos opciones para escribir métodos nativos: CNI y JNI. Por defecto
gcj asume que está utilizando CNI. Si está compilando una clase con métodos nativos y
estos métodos se implementan usando JNI, luego debe usar "-fjni". Esta opción
causas gcj para generar stubs que invocarán los métodos JNI subyacentes.

-fno-afirmar
No reconozca la palabra clave "aseverar". Esto es por compatibilidad con versiones anteriores.
de la especificación del idioma.

-fno-optimizar-inicialización-de-clase-estática
Cuando el nivel de optimización es mayor o igual a "-O2", gcj intentará optimizar el
la forma en que se realizan las llamadas al tiempo de ejecución para inicializar las clases estáticas en su primer uso
(esta optimización no se lleva a cabo si se especificó "-C"). Al compilar en nativo
código, "-fno-optimizar-estática-clase-inicialización" desactivará esta optimización,
independientemente del nivel de optimización en uso.

--deshabilitar-aserciones [=clase-o-paquete]
No incluya código para verificar afirmaciones en el código compilado. Si
"=clase-o-paquete " falta deshabilita la generación de código de aserción para todas las clases,
a menos que sea reemplazado por un indicador "--enable-assertions" más específico. Si clase-o-paquete
es un nombre de clase, solo deshabilita la generación de comprobaciones de aserción dentro de la clase nombrada o
sus clases internas. Si clase-o-paquete es un nombre de paquete, deshabilita la generación
comprobaciones de aserción dentro del paquete nombrado o un subpaquete.

De forma predeterminada, las aserciones están habilitadas al generar archivos de clase o cuando no se optimizan,
y deshabilitado al generar binarios optimizados.

--enable-assertions [=clase-o-paquete]
Genera código para verificar afirmaciones. Es posible que la opción tenga un nombre incorrecto, ya que aún necesita
para activar la comprobación de aserciones en tiempo de ejecución, y no admitimos ninguna forma sencilla de hacerlo
ese. Así que esta bandera no es muy útil todavía, excepto para anular parcialmente
"--deshabilitar-aserciones".

-findirect-dispatch
gcj tiene una ABI de compatibilidad binaria especial, que está habilitada por el
Opción "-findirect-dispatch". En este modo, el código generado por gcj honra al
garantías de compatibilidad binaria en la especificación del lenguaje Java, y el resultado
los archivos de objeto no necesitan estar directamente vinculados con sus dependencias. En lugar de,
todas las dependencias se buscan en tiempo de ejecución. Esto permite la mezcla libre de interpretados y
código compilado.

Tenga en cuenta que, en la actualidad, "-findirect-dispatch" solo se puede utilizar al compilar .clase
archivos. No funcionará al compilar desde la fuente. CNI tampoco trabaja todavía con
la compatibilidad binaria ABI. Estas restricciones se levantarán en el futuro.
en libertad.

Sin embargo, si compila el código CNI con el ABI estándar, puede llamarlo desde el código
construido con la compatibilidad binaria ABI.

-fbootstrap-clases
Esta opción puede usarse para decirle a "libgcj" que las clases compiladas deben ser cargadas por
el cargador de arranque, no el cargador de clases del sistema. De forma predeterminada, si compila una clase
y vincularlo a un ejecutable, se tratará como si se hubiera cargado usando el
cargador de clases de sistema. Esto es conveniente, ya que significa que cosas como
"Class.forName ()" buscará RUTA DE CLASE para encontrar la clase deseada.

-reflexión-reducida
Esta opción hace que el código generado por gcj para contener una cantidad reducida de la clase
metadatos utilizados para admitir la reflexión en tiempo de ejecución. El costo de estos ahorros es la pérdida de
la capacidad de utilizar ciertas capacidades de reflexión del tiempo de ejecución estándar de Java
medio ambiente. Cuando se configuran todos los metadatos, excepto los necesarios para obtener la
Se elimina la semántica en tiempo de ejecución.

Para código que no utiliza reflexión (es decir, serialización, RMI, CORBA o métodos de llamada
en el paquete "java.lang.reflect"), "-freduced-reflect" dará como resultado
operación con ahorros en el tamaño del código ejecutable.

JNI ("-fjni") y la compatibilidad binaria ABI ("-findirect-dispatch") no funcionan
correctamente sin metadatos de reflexión completa. Debido a esto, es un error usar
estas opciones con "-freduced-reflect".

Precaución: Si no hay metadatos de reflexión, el código que utiliza un "SecurityManager" puede
no trabaja adecuadamente. También la llamada "Class.forName ()" puede fallar si el método de llamada tiene
sin metadatos de reflexión.

Tiempo de configuración de pago
Algunos gcj Las opciones de generación de código afectan la ABI resultante, por lo que solo pueden
dado significativamente cuando "libgcj", el paquete de tiempo de ejecución, está configurado. "libgcj" pone el
opciones apropiadas de este grupo en un especulación archivo que es leído por gcj. Estas opciones
se enumeran aquí para que estén completos; si está usando "libgcj", entonces no querrá tocar
estas opciones.

-fusible-boehm-gc
Esto permite el uso del código de marcado de mapa de bits de Boehm GC. En particular, esto causa
gcj para poner un descriptor de marcado de objetos en cada vtable.

-fhash-sincronización
De forma predeterminada, los datos de sincronización (los datos utilizados para "sincronizar", "esperar" y
"notificar") se indica mediante una palabra en cada objeto. Con esta opcion gcj asume que
esta información se almacena en una tabla hash y no en el objeto en sí.

-fusible-dividir-subrutina
En algunos sistemas, se llama a una rutina de biblioteca para realizar la división de enteros. Este es
necesario para que el manejo de excepciones sea correcto al dividir por cero.

-fcheck-referencias
En algunos sistemas, es necesario insertar comprobaciones en línea cada vez que se accede a un objeto.
a través de una referencia. En otros sistemas no lo necesitará porque el puntero nulo accede
son capturados automáticamente por el procesador.

-fusibles-atómicos-incorporados
En algunos sistemas, GCC puede generar código para operaciones atómicas integradas. Utilizar esta
opción para obligar a gcj a utilizar estos elementos internos al compilar código Java. Donde esto
la capacidad está presente, debería detectarse automáticamente, por lo que normalmente no necesitará
para utilizar esta opción.

Use mips64el-linux-gnuabi64-gcj en línea usando los servicios de onworks.net


Ad


Ad

Últimos programas en línea de Linux y Windows