Il s'agit de la commande bcc 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
bcc - le compilateur C de Bruce
SYNOPSIS
bcc [-03EGNOPSVcegvwxW] [-Aas_option] [-Bexecutable_prefix] [-Définir] [-Uundef]
[-Mc_mode] [-o fichier de sortie] [-ansi] [-Ccc1_option] [-option_Pcpp] [-Jeinclude_dir]
[-Lld_option] [-Tmprép] [-Qc386_option] [-ttext_segno] [ld_options] [fichiers]
DESCRIPTION
Bcc est un simple compilateur C qui produit un assembleur 8086, en plus du temps de compilation du compilateur
les options autorisent les versions 80386 ou 6809. Le compilateur comprend le K&R C traditionnel avec juste
la restriction selon laquelle les champs de bits sont mappés sur l'un des autres types d'entiers.
L'opération par défaut est de produire un exécutable 8086 appelé a.out à partir du fichier source.
OPTIONS
-ansi Passer la source C à travers déprotoiser après prétraitement et avant code
génération. Cela permettra quelques ansi C à compiler mais c'est définitivement ne pas a
vrai compilateur ansi-C.
-0 Cible 8086 (fonctionne sur l'hôte 80386, mais pas sur 6809)
-3 Cible 80386 (peut fonctionner sur l'hôte 8086, mais pas sur 6809)
-A passer le reste de l'option à l'assembleur (par exemple -Al -Alistfile pour une liste)
-B préfixe pour le chemin de recherche exécutable (comme d'habitude ; l'ordre de recherche est tous les chemins
spécifié à l'aide -B, dans l'ordre, puis le chemin donné dans la variable d'environnement
BCC_EXEC_PREFIX si cela est défini, alors les valeurs par défaut compilées (quelque chose comme
/usr/lib/bcc/ suivi de / usr / bin /)
-C passez le reste de l'option à bcc-cc1, voir les options de génération de code.
-D définition du préprocesseur
-E produire la sortie du préprocesseur sur la sortie standard.
-G produire des objets GCC (Identique à -Mg)
-Ixyz inclure le chemin de recherche 'xyz'
-I ne pas ajouter d'inclusion par défaut à la liste de recherche
-Lxyz ajouter le nom de répertoire « xyz » à la tête de la liste des répertoires de bibliothèque recherchés
-L ne pas ajouter de bibliothèque par défaut à la liste de recherche
-Maryland modifie les arguments de toutes les passes pour produire des fichiers COM exécutables MSDOS. Ces
sont des exécutables de petit modèle, utilisez -i pour obtenir un petit modèle.
-Mf définit bcc pour passer le -c et -f arguments au générateur de code pour plus petit plus rapide
code. Notez que ce code n'est pas compatible avec les conventions d'appel standard, donc un
une version différente de la bibliothèque C est également liée.
-Mc définit bcc pour passer le -c argument au générateur de code pour un code plus petit et plus rapide.
Notez que la libc standard est normalement transparente à cela, mais il y a des exceptions.
-Mme modifie les arguments pour toutes les passes et sélectionne la bibliothèque C pour produire une version autonome
Exécutables Linux-86
-Ml passe au générateur de code et à la bibliothèque i386-Linux. Cette configuration accepte les
-z flag pour générer des fichiers QMAGIC a.out au lieu de l'OMAGIC normal.
-Mg passe au générateur de code i386-Linux et génère des fichiers objets OMAGIC qui peuvent être
lié à certaines versions de gcc ; malheureusement les versions les plus récentes utilisent
'collect2' pour lier et cela se bloque.
-N fait que l'éditeur de liens produise un fichier a.out natif (Linux OMAGIC) s'il est combiné avec -3 le
exécutable fonctionnera sous Linux-i386.
-O optimiser, appeler Copte(1) pour optimiser le code 8086. Spécificateurs pour choisir les règles Copte
devrait utiliser peut être annexé au -O et l'option peut être répétée.
-P produire une sortie de préprocesseur sans numéro de ligne vers la sortie standard.
-Q passer l'option complète à c386 (uniquement pour la version c386)
-S produire un fichier assembleur
-T répertoire temporaire (remplace la valeur précédente et la valeur par défaut ; la valeur par défaut provient du
variable d'environnement TMPDIR si elle est définie, sinon / Tmp)
-U préprocesseur indéfini
-V imprimer les noms des fichiers en cours de compilation
-X passer le reste de l'option à l'éditeur de liens (par exemple -X-Ofile est passé à l'éditeur de liens comme
-Defichier)
-c produire un fichier objet
-f activer la prise en charge de la virgule flottante, aucun effet avec i386, modifie la bibliothèque libc avec 8086
code.
-g produire des informations de débogage (ignorées.)
-o le nom du fichier de sortie suit (assembleur, objet ou exécutable) (comme d'habitude)
-p produire des informations de profilage (ignorées.)
-t1 passer à l'assembleur pour renuméroter le segment de texte pour les programmes multi-segments.
-v imprime les noms et les arguments des sous-processus en cours d'exécution. Au moins deux -v's impriment les noms de
fichiers étant dissociés. Trois ou plus -v's affichent les noms des chemins recherchés.
-w Supprimez tout diagnostic d'avertissement.
-W Tournez on messages d'avertissement de l'assembleur.
-x n'incluez pas crt0.o dans le lien.
-i ne passe pas -i à l'éditeur de liens afin qu'il crée un exécutable impur.
D'autres options sont passées à l'éditeur de liens, en particulier -lx, -M, -m, -s, -H.
CODE GÉNÉRATEUR OPTIONS
Ce sont toutes des options que le générateur de code passe bcc-cc1 comprend, seuls certains seront
utile pour le -C option de cci.
-0 Cible 8086 (fonctionne même sur l'hôte 80386, pas sur 6809)
-3 Cible 80386 (peut fonctionner même sur l'hôte 8086, pas sur 6809)
-D définir (comme d'habitude)
-E produire la sortie du préprocesseur (comme d'habitude)
-I inclure le chemin de recherche (comme d'habitude)
-P produire une sortie de préprocesseur sans numéro de ligne (comme d'habitude)
-c produire du code avec l'appelant en sauvegardant les règles avant les appels de fonction
-d imprimer les informations de débogage dans la sortie de l'assembly
-f produire du code avec le 1er argument passé dans un registre (AX, EAX ou X)
-l produire du code pour l'ordre de 2 3 1 0 octets longs (ne fonctionne qu'en code 16 bits), un
bibliothèque de fonctions d'aide au compilateur est nécessaire pour ce mode.
-o le nom du fichier de sortie de l'assembleur suit
-p produire (presque) un code indépendant de la position (uniquement pour le 6809)
-t imprimer le code source dans la sortie de l'assembly
-w imprimer ce que cc1 pense être le compteur d'emplacement dans la sortie de l'assembly
Toutes les options sauf -D, -I et -o peuvent être désactivées en suivant la lettre d'option d'un
'-'. Les options sont traitées de gauche à droite afin que le dernier paramètre soit prioritaire.
PRÉPROCESSEUR DÉFINIT
Le préprocesseur a un certain nombre de constantes manifestes.
__Cci__ 1
L'identifiant du compilateur, normalement utilisé pour éviter les limitations du compilateur.
__DÉPOSER__
nom sous forme de chaîne du fichier d'entrée actuel
__LIGNE__
numéro de ligne actuel
__MSDOS__ 1
compilateur est configuré pour générer des fichiers COM exécutables MSDOS.
__AUTONOMIQUE__ 1
le compilateur est configuré pour générer des exécutables autonomes.
__AS386_16__ 1
le compilateur génère un assembleur 16 bits 8086 et le #asme le mot-clé est disponible pour
y compris le code 8086.
__AS386_32__ 1
le compilateur génère un assembleur 32 bits 80386 et le #asme le mot-clé est disponible pour
y compris le code 80386.
__CALLER_SAVES__ 1
les conventions d'appel du compilateur sont modifiées de sorte que la fonction appelante doit enregistrer le SI
et DI registres s'ils sont en cours d'utilisation (ESI et EDI sur le 80386)
__FIRST_ARG_IN_AX__ 1
les conventions d'appel du compilateur sont modifiées de sorte que la fonction appelante passe le
premier argument de la fonction dans le AX (ou Eax ) S'inscrire.
__LONG_BIG_ENDIAN__ 1
modifie l'ordre des mots du code généré par le compilateur 8086.
Ces définitions n'apparaissent que dans la version 6809 du compilateur.
__AS09__ 1
le compilateur génère du code 6809
__FIRST_ARG_IN__X__ 1
le premier argument de fonctions est passé dans le X inscrivez-vous.
__POS_INDÉPENDANT__ 1
le code généré est (presque) indépendant de la position.
ENVIRONNEMENT
BCC_EXEC_PREFIX
répertoire par défaut pour rechercher les passes du compilateur
TMPDIR répertoire pour placer les fichiers temporaires (par défaut / Tmp)
RÉPERTOIRES
Tous les composants d'inclusion, de bibliothèque et de compilateur sont stockés sous le /usr/lib/cci
sous Linux-i386, il est présenté de la même manière qu'un / usr système de fichiers et si bcc est
pour être le compilateur principal sur un système, il doit y être déplacé. La configuration pour
c'est dans le cci.c fichier source uniquement, tous les autres exécutables sont indépendants de l'emplacement.
L'installation de la bibliothèque crée également le fichier /usr/lib/liberror.txt, ce chemin est
codé en dur dans la bibliothèque C.
Votre bcc exécutable lui-même, as86 et ld86 sont dans /usr/bin.
Utilisez bcc en ligne en utilisant les services onworks.net