AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

mips-linux-gnu-gcj - En ligne dans le Cloud

Exécutez mips-linux-gnu-gcj dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande mips-linux-gnu-gcj qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


gcj - Compilateur en amont pour le langage Java

SYNOPSIS


gcj [-Idir...] [-d dir...]
[--CHEMIN DE CLASSE=chemin] [--chemin de classe=chemin]
[-foption...] [--codage=prénom]
[--principale=nom du cours] [-Dprénom[=Plus-value(...)...]
[-C] [--Ressource nom de la ressource] [-d annuaire]
[-Wprévenir...]
fichier source

DESCRIPTION


As gcj n'est qu'une autre face avant de gcc, il prend en charge bon nombre des mêmes options que gcc.
Ce manuel ne documente que les options spécifiques à gcj.

OPTIONS


Entrée et sortie fichiers
A gcj la commande est comme un gcc commande, en ce qu'elle se compose d'un certain nombre d'options et d'un fichier
noms. Les types de noms de fichiers d'entrée suivants sont pris en charge :

filet.Java
Fichiers sources Java.

filet.classe
Fichiers de bytecode Java.

filet.zip
filet.jar
Une archive contenant un ou plusieurs fichiers ".class", qui sont tous compilés. Les
l'archive peut être compressée. Fichiers dans une archive qui ne se termine pas par .classe
traités comme des fichiers de ressources ; ils sont compilés dans le fichier objet résultant comme coeur:
URL.

@filet
Un fichier contenant une liste de noms de fichiers d'entrée séparés par des espaces. (Actuellement, ces
doivent tous être des fichiers source ".java", mais cela peut changer.) Chaque fichier nommé est compilé,
comme s'il avait été sur la ligne de commande.

bibliothèque.a
bibliothèque.so
-lnomlib
Bibliothèques à utiliser lors de la liaison. Voir le gcc manuel.

Vous pouvez spécifier plusieurs fichiers d'entrée sur le gcj ligne de commande, auquel cas ils
tous être compilés. Si vous spécifiez un "-o NOM DE FICHIER" option, tous les fichiers d'entrée seront
compilés ensemble, produisant un seul fichier de sortie, nommé NOM DE FICHIER. Ceci est autorisé même
lorsque vous utilisez "-S" ou "-c", mais pas lorsque vous utilisez "-C" ou "--resource". (Ceci est une extension
au-delà de la plaine quoi gcc autorise.) (Si plus d'un fichier d'entrée est spécifié, tous doivent
actuellement des fichiers ".java", bien que nous espérons résoudre ce problème.)

Entrée Options
gcj a des options pour contrôler où il cherche à trouver les fichiers dont il a besoin. Par exemple, gcj pourrait
besoin de charger une classe référencée par le fichier qu'il a été demandé de compiler. Comme
d'autres compilateurs pour le langage Java, gcj a une notion d'un classe chemin. Il y a
plusieurs options et variables d'environnement qui peuvent être utilisées pour manipuler le chemin de classe.
Quand gcj recherche une classe donnée, il recherche le chemin de classe à la recherche d'une correspondance .classe
or .Java fichier. gcj est livré avec un chemin de classe intégré qui pointe vers le
libgcj.jar, un fichier qui contient toutes les classes standard.

Dans le texte ci-dessous, un répertoire ou un composant de chemin peut faire référence soit à un répertoire réel
sur le système de fichiers, ou à un .zip or .jar fichier, qui gcj recherchera comme s'il s'agissait d'un
répertoire.

-Idir
Tous les répertoires spécifiés par "-I" sont conservés dans l'ordre et ajoutés au chemin de classe
construit à partir de toutes les autres options. Sauf compatibilité avec des outils comme "javac"
est important, nous vous recommandons de toujours utiliser "-I" au lieu des autres options pour
manipuler le chemin de la classe.

--classpath=chemin
Cela définit le chemin de classe sur chemin, une liste de chemins séparés par des deux-points (sur Windows
systèmes, une liste de chemins séparés par des points-virgules). Cela ne remplace pas la fonction intégrée
chemin de recherche ("boot").

--CHEMINCLASSE=chemin
Synonyme déconseillé de "--classpath".

--bootclasspath=chemin
Où trouver les classes intégrées standard, telles que "java.lang.String".

--extdirs=chemin
Pour chaque répertoire du chemin, placez le contenu de ce répertoire à la fin du
chemin de classe.

CHEMIN DE CLASSE
Il s'agit d'une variable d'environnement qui contient une liste de chemins.

Le chemin de classe final est construit comme suit :

* Viennent d'abord tous les répertoires spécifiés via "-I".

* Si --chemin de classe est spécifié, sa valeur est ajoutée. Sinon, si le "CLASSPATH"
variable d'environnement est spécifiée, puis sa valeur est ajoutée. Sinon, le courant
répertoire ("".") est ajouté.

* Si "--bootclasspath" a été spécifié, ajoutez sa valeur. Sinon, ajoutez le
répertoire système, libgcj.jar.

* Enfin, si "--extdirs" a été spécifié, ajoutez le contenu du
répertoires à la fin du chemin de classe. Sinon, ajoutez le contenu du
extdirs intégré à "$(prefix)/share/java/ext".

Le fichier de classe construit par gcj pour la classe "java.lang.Object" (et placé dans "libgcj.jar")
contient un attribut spécial de longueur nulle "gnu.gcj.gcj-compiled". Le compilateur recherche
cet attribut lors du chargement de "java.lang.Object" et signalera une erreur s'il n'est pas trouvé,
à moins qu'il ne compile en bytecode (l'option "-fforce-classes-archive-check" peut être utilisée pour
remplacer ce comportement dans ce cas particulier.)

-fforce-classes-archive-check
Cela oblige le compilateur à toujours vérifier l'attribut spécial de longueur zéro
"gnu.gcj.gcj-compiled" dans "java.lang.Object" et émettre une erreur s'il n'est pas trouvé.

-fsource=VERSION
Cette option permet de choisir la version source acceptée par gcj. La valeur par défaut est 1.5.

Encodages
Le langage de programmation Java utilise Unicode partout. Dans un effort pour bien s'intégrer
avec d'autres lieux, gcj permet .Java à écrire en utilisant presque n'importe quel encodage. gcj
sait comment convertir ces encodages en son encodage interne au moment de la compilation.

Vous pouvez utiliser le "--encoding=NOM" option pour spécifier un encodage (d'un caractère particulier
set) à utiliser pour les fichiers source. Si ce n'est pas spécifié, l'encodage par défaut vient de
votre région actuelle. Si votre système hôte ne prend pas en charge les paramètres régionaux, alors gcj
suppose que l'encodage par défaut est le UTF-8 codage Unicode.

Pour implémenter "--encoding", gcj utilise simplement la routine de conversion "iconv" de la plate-forme hôte.
Cela signifie qu'en pratique gcj est limité par les capacités de la plate-forme hôte.

Les noms autorisés pour l'argument "--encoding" varient d'une plate-forme à l'autre (puisqu'ils
ne sont normalisés nulle part). Cependant, gcj implémente l'encodage nommé UTF-8
en interne, donc si vous choisissez de l'utiliser pour vos fichiers source, vous pouvez être assuré qu'il
fonctionnera sur chaque hôte.

Avertissements
gcj implémente plusieurs avertissements. Comme pour les autres génériques gcc avertissements, si une option du
la forme "-Wfoo" active un avertissement, puis "-Wno-foo" le désactivera. Ici, nous avons choisi de
documenter la forme de l'avertissement qui aura un effet -- la valeur par défaut étant la
à l'opposé de ce qui est indiqué.

-Wredundant-modificateurs
Avec ce drapeau, gcj avertira des modificateurs redondants. Par exemple, il avertira
si une méthode d'interface est déclarée "publique".

-Wextraneous-point virgule
Ce qui provoque gcj pour avertir des déclarations vides. Des déclarations vides ont été
obsolète.

-Pas périmé
Cette option entraînera gcj ne pas avertir lorsqu'un fichier source est plus récent que son correspondant
fichier de classe. Par défaut gcj mettra en garde à ce sujet.

-Wno-déprécié
Avertir si une classe, une méthode ou un champ obsolète est référencé.

-Wunutilisé
C'est la même chose que gcc's "-Wunused".

-Mur
C'est la même chose que "-Wredundant-modifiers -Wextraneous-semicolon -Wunused".

Enchaînement
Pour transformer une application Java en un programme exécutable, vous devez la lier aux
bibliothèques, tout comme pour C ou C++. L'éditeur de liens recherche par défaut une fonction globale nommée
"principale". Étant donné que Java n'a pas de fonctions globales et qu'une collection de classes Java peut
avoir plus d'une classe avec une méthode "main", vous devez faire savoir à l'éditeur de liens laquelle des
ces méthodes "principales" qu'il doit invoquer lors du démarrage de l'application. Vous pouvez le faire dans
l'une de ces manières :

* Précisez la classe contenant la méthode "principale" souhaitée lorsque vous liez l'application,
en utilisant le drapeau "--main", décrit ci-dessous.

* Liez le(s) package(s) Java dans une bibliothèque partagée (dll) plutôt qu'un exécutable. Puis
invoquez l'application en utilisant le programme "gij", en vous assurant que "gij" peut trouver le
bibliothèques dont il a besoin.

* Liez le(s) package(s) Java avec le drapeau "-lgij", qui se lie dans la routine "main"
à partir de la commande "gij". Cela vous permet de sélectionner la classe dont vous
voulez exécuter lorsque vous exécutez l'application. Vous pouvez également utiliser d'autres drapeaux "gij", tels que
Drapeaux "-D" pour définir les propriétés. En utilisant la bibliothèque "-lgij" (plutôt que le "gij"
programme du mécanisme précédent) présente certains avantages : il est compatible avec
liaison et ne nécessite pas de configuration ou d'installation de bibliothèques.

Ces options "gij" concernent la liaison d'un exécutable :

--main=NOM DU COURS
Cette option est utilisée lors de la liaison pour spécifier le nom de la classe dont la méthode "main"
doit être invoqué lorsque l'exécutable résultant est exécuté.

-Dprénom[=Plus-value]
Cette option ne peut être utilisée qu'avec "--main". Il définit une propriété système nommée prénom
avec valeur Plus-value. Si Plus-value n'est pas spécifié, la valeur par défaut est la chaîne vide.
Ces propriétés système sont initialisées au démarrage du programme et peuvent être récupérées
au moment de l'exécution à l'aide de la méthode "java.lang.System.getProperty".

-lgij
Créez une application dont le traitement en ligne de commande est celui de la commande "gij".

Cette option est une alternative à l'utilisation de "--main" ; vous ne pouvez pas utiliser les deux.

-statique-libgcj
Cette option provoque la liaison avec une version statique du runtime libgcj
une bibliothèque. Cette option n'est disponible que si la prise en charge de l'éditeur de liens correspondant existe.

Prudence: La liaison statique de libgcj peut entraîner l'omission de parties essentielles de libgcj.
Certaines parties de libgcj utilisent la réflexion pour charger les classes lors de l'exécution. Étant donné que l'éditeur de liens fait
pas voir ces références au moment du lien, il peut omettre les classes référencées. Les
le résultat est généralement (mais pas toujours) une "ClassNotFoundException" lancée au moment de l'exécution.
Il faut être prudent lors de l'utilisation de cette option. Pour plus de détails voir :
<http://gcc.gnu.org/wiki/Statically%20lien%20libgcj>

Code Génération
En plus des nombreux gcc options contrôlant la génération de code, gcj a plusieurs options
propre à lui-même.

-C Cette option est utilisée pour dire gcj pour générer du bytecode (.classe fichiers) plutôt que l'objet
code.

--Ressource nom de la ressource
Cette option est utilisée pour dire gcj compiler le contenu d'un fichier donné en code objet
il peut donc être consulté au moment de l'exécution avec le gestionnaire de protocole principal comme coeur:/Ressource-
prénom. Noter que nom de la ressource est le nom de la ressource tel qu'il a été trouvé au moment de l'exécution ; pour
exemple, il pourrait être utilisé dans un appel à "ResourceBundle.getBundle". Le vrai fichier
le nom à compiler de cette manière doit être spécifié séparément.

-ftcible=VERSION
Cela peut être utilisé avec -C choisir la version du bytecode émis par gcjL’
la valeur par défaut est 1.5. Lorsqu'elle ne génère pas de bytecode, cette option n'a aucun effet.

-d annuaire
Lorsqu'il est utilisé avec "-C", cela provoque tous les produits générés .classe fichiers à mettre dans le
sous-répertoire approprié de annuaire. Par défaut, ils seront placés dans des sous-répertoires
du répertoire de travail courant.

-fno-bounds-check
Par défaut, gcj génère du code qui vérifie les limites de toutes les indexations de tableaux
opérations. Avec cette option, ces contrôles sont omis, ce qui peut améliorer les performances
pour le code qui utilise beaucoup de tableaux. Notez que cela peut entraîner des effets imprévisibles
comportement si le code en question viole réellement les contraintes des limites du tableau. Ce
est sûr d'utiliser cette option si vous êtes sûr que votre code ne lancera jamais un
"ArrayIndexOutOfBoundsException".

-fno-store-check
Ne générez pas de vérifications de magasin de tableaux. Lors du stockage d'objets dans des tableaux, un contrôle d'exécution
est normalement généré afin de s'assurer que l'objet est compatible avec l'affectation
le type de composant du tableau (qui peut ne pas être connu au moment de la compilation). Avec ça
option, ces contrôles sont omis. Cela peut améliorer les performances du code qui stocke
objets dans des tableaux fréquemment. Vous pouvez utiliser cette option en toute sécurité si vous êtes sûr que votre
le code ne lancera jamais une "ArrayStoreException".

-fjni
Avec gcj il existe deux options pour écrire des méthodes natives : CNI et JNI. Par défaut
gcj suppose que vous utilisez CNI. Si vous compilez une classe avec des méthodes natives et
ces méthodes sont implémentées en utilisant JNI, alors vous devez utiliser "-fjni". Cette option
les causes gcj pour générer des stubs qui invoqueront les méthodes JNI sous-jacentes.

-fno-affirmer
Ne reconnais pas le mot-clé "assert". Ceci est pour la compatibilité avec les anciennes versions
de la spécification de la langue.

-fno-optimize-static-class-initialisation
Lorsque le niveau d'optimisation est supérieur ou égal à "-O2", gcj essaiera d'optimiser le
manière dont les appels dans le runtime sont effectués pour initialiser les classes statiques lors de leur première utilisation
(cette optimisation n'est pas effectuée si "-C" a été spécifié.) Lors de la compilation en natif
code, "-fno-optimize-static-class-initialization" désactivera cette optimisation,
quel que soit le niveau d'optimisation utilisé.

--disable-assertions[=classe-ou-paquet]
N'incluez pas de code pour vérifier les assertions dans le code compilé. Si
"=classe-ou-paquet" est manquant désactive la génération de code d'assertion pour toutes les classes,
à moins qu'il ne soit remplacé par un indicateur "--enable-assertions" plus spécifique. Si classe-ou-paquet
est un nom de classe, désactive uniquement la génération de contrôles d'assertion dans la classe nommée ou
ses classes internes. Si classe-ou-paquet est un nom de package, désactive la génération
vérifications d'assertion dans le package nommé ou un sous-package.

Par défaut, les assertions sont activées lors de la génération des fichiers de classe ou lors de l'absence d'optimisation,
et désactivé lors de la génération de binaires optimisés.

--enable-assertions[=classe-ou-paquet]
Génère du code pour vérifier les assertions. L'option est peut-être mal nommée, car vous avez toujours besoin
pour activer la vérification des assertions au moment de l'exécution, et nous ne prenons en charge aucun moyen simple de le faire
cette. Donc ce drapeau n'est pas encore très utile, sauf pour remplacer partiellement
"--disable-assertions".

-findirect-expédition
gcj a une compatibilité binaire spéciale ABI, qui est activée par le
option "-findirect-dispatch". Dans ce mode, le code généré par gcj honore le
les garanties de compatibilité binaire dans la spécification du langage Java, et les
les fichiers objets n'ont pas besoin d'être directement liés à leurs dépendances. Au lieu,
toutes les dépendances sont recherchées au moment de l'exécution. Cela permet un mélange libre d'interprétés et
code compilé.

Notez qu'à l'heure actuelle, "-findirect-dispatch" ne peut être utilisé que lors de la compilation .classe
des dossiers. Cela ne fonctionnera pas lors de la compilation à partir des sources. Le CNI ne travaille pas encore non plus avec
la compatibilité binaire ABI. Ces restrictions seront levées à l'avenir
libérer.

Cependant, si vous compilez du code CNI avec l'ABI standard, vous pouvez l'appeler à partir du code
construit avec la compatibilité binaire ABI.

-fbootstrap-classes
Cette option peut être utilisée pour indiquer à "libgcj" que les classes compilées doivent être chargées par
le chargeur d'amorçage, pas le chargeur de classe système. Par défaut, si vous compilez une classe
et liez-le dans un exécutable, il sera traité comme s'il avait été chargé en utilisant le
chargeur de classe système. C'est pratique, car cela signifie que des choses comme
"Class.forName()" recherchera CHEMIN DE CLASSE pour trouver la classe désirée.

-refduction-de-reflet
Cette option provoque le code généré par gcj contenir une quantité réduite de la classe
méta-données utilisées pour prendre en charge la réflexion à l'exécution. Le coût de cette économie est la perte de
la possibilité d'utiliser certaines capacités de réflexion du runtime Java standard
environnement. Lorsque toutes les métadonnées sont définies, à l'exception de celles qui sont nécessaires pour obtenir des données correctes
la sémantique d'exécution est éliminée.

Pour le code qui n'utilise pas la réflexion (c'est-à-dire sérialisation, RMI, CORBA ou méthodes d'appel
dans le package "java.lang.reflect"), "-freduced-reflection" se traduira par un bon
opération avec une économie de la taille du code exécutable.

JNI ("-fjni") et l'ABI de compatibilité binaire ("-findirect-dispatch") ne fonctionnent pas
correctement sans méta-données de réflexion complète. Pour cette raison, c'est une erreur d'utiliser
ces options avec "-freduced-reflection".

Prudence: S'il n'y a pas de métadonnées de réflexion, le code qui utilise un "SecurityManager" peut
ne fonctionne pas correctement. L'appel de "Class.forName()" peut également échouer si la méthode d'appel a
aucune méta-donnée de réflexion.

Configurer-temps Options
Certain gcj les options de génération de code affectent l'ABI résultante, et ne peuvent donc être
donné de manière significative lorsque "libgcj", le package d'exécution, est configuré. "libgcj" met le
options appropriées de ce groupe dans un spec fichier qui est lu par gcj. Ces options
sont répertoriés ici par souci d'exhaustivité ; si vous utilisez "libgcj", vous ne voudrez pas toucher
ces options.

-fuse-boehm-gc
Cela permet l'utilisation du code de marquage bitmap Boehm GC. Cela provoque en particulier
gcj pour mettre un descripteur de marquage d'objet dans chaque vtable.

-fhash-synchronisation
Par défaut, les données de synchronisation (les données utilisées pour "synchroniser", "attendre" et
"notify") est indiqué par un mot dans chaque objet. Avec cette option gcj suppose que
ces informations sont stockées dans une table de hachage et non dans l'objet lui-même.

-fuse-divide-sous-routine
Sur certains systèmes, une routine de bibliothèque est appelée pour effectuer une division entière. C'est
requis pour que la gestion des exceptions soit correcte lors de la division par zéro.

-fcheck-références
Sur certains systèmes, il est nécessaire d'insérer des contrôles en ligne chaque fois que vous accédez à un objet
via une référence. Sur d'autres systèmes, vous n'en aurez pas besoin car le pointeur null accède
sont capturés automatiquement par le processeur.

-fuse-atomic-builtins
Sur certains systèmes, GCC peut générer du code pour des opérations atomiques intégrées. Utilisez ceci
option pour forcer gcj à utiliser ces fonctions intégrées lors de la compilation du code Java. Où ce
la capacité est présente, elle devrait être détectée automatiquement, vous n'aurez donc généralement pas besoin
pour utiliser cette option.

Utilisez mips-linux-gnu-gcj en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad