IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Comment compiler non-ANSI avec gcc ?


Sujet :

Linux

  1. #1
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut Comment compiler non-ANSI avec gcc ?
    Bonjour,
    j'ai chez moi un linux ubuntu avec compilo gcc sur un PC ordinaire; je bosse sur une HP 9000 (pas du tout en développement informatique, mais en mécanique-calcul de structure) et j'utilise surtout le fortran pour faire de vulgaires moulinettes séquentielles avec un ou deux fichiers d'entrée et une sortie. Donc je suis un peu largué quand il s'agit du C; or, j'ai compris (difficilement mais ça c'est une autre histoire) que le compilo de la HP n'est pas ANSI, donc qu'il ne veut pas de prototypes, qu'il n'aime pas les "instructions-déclarations", qu'il faut lui déclarer et typer les arguments d'une fonction avant le corps de celle ci, bref, tout un tas de particularités non algorithmiques.
    Je voudrais pouvoir mettre au point chez moi quelques bidules dont j'ai besoin au boulot, et pour ça j'aimerais bien que mon compilo ait le même comportement que celui de la HP. J'ai déjà trouve qu'on pouvait utiliser le préprocesseur avec de #ifdef linux #else /* pour la HP */ #endif, mais cela est un petit peu lourd à utiliser.
    Alors y a-t'il une option du gcc qui éjecte la sytaxe ANSI ? Je n'ai pas trouvé dans le man, mais sur une vieille SUN sur laquelle je bossais auparavant, on pouvait se restreindre à du K&R de base.
    Merci de me dire où je pourrais trouver d'autres infos là dessus.

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    En fait, ton serveur HP doit etre particulierement vieux. La description que tu fais est du C pre-ansi, c'est a dire tel qu'il etait ecrit avant que la norme C soit ecrite (en 89, revue en 99).

    Regarde dans les options de gcc si tu ne peux pas avoir un mode pre-89, mais je ne suis pas certain que ca existe (tu as un mode 89 stricte, et un mode 99).

    Dans tous les cas, rien ne remplacera la compilation sur ta machine, ou sur un clone de celle-ci.

  3. #3
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut
    Bonjour,
    en effet, la HP sur laquelle je bosse doit être un "vieux machin" (mais il y a encore pire dans le bureau de calcul); je viens de survoler le man de gcc, et il y a bien tout un tas d'options, depuis -ansi, puis -std=c89, et -fgnu89-inline, et d'autres standards plus récents, mais aucun ne semble remonter aux temps préhistoriques de ma bécane. (et "inline" je ne sais même pas ce que ça veut dire)
    Quand les vacances seront finies (même pas SNIF) j'essaierai de penser à relever l'OS et l'âge du phénomène.
    Et je continuerai à compiler gentiment avec les #ifdef linux du préprocesseur.

  4. #4
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut
    AYÉ les ouacances sont finies, et ma bécane dit :

    $ uname -a

    HP-UX la_bécane B.11.11 U 9000/785 3960529398 unlimited-user license

    je ne sais pas l'âge, sauf que c'est du vieux matos, mais l'OS doit donner quelques indications.
    David

  5. #5
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    11.11 c'est pas si vieux que ça, c'est peut être du HP2600 ou du HP visualize qui ont genre entre 5 et 8 ans ... ??

    ici la plus vieille machine qu'on ai en prod est un sun sparcstation 4 !
    on a des tas de vieilles HP et même du DEC alpha....
    des bull etrella escalla et compagnie....

    coté vieux matos on est servi aussi ! mais j'adore ça...

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Tu peux essayer de regarder l'option -traditional (émule un compilateur pré-standard).

    Une autre option, si tu contrôle ton linux, et d'installer une version plus ancienne de gcc (par exemple une 2.95). Les vieilles version de gcc sont encore disponibles ici :

    http://ftp.gnu.org/pub/gnu/gcc/

  7. #7
    Membre habitué
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Points : 180
    Points
    180
    Par défaut Ok super, merci tardif, et une autre question d'éditeur hexa
    Ok super, merci tardif, et une autre question d'éditeur hexa :

    je cherche un éditeur hexadécimal dont le code soit du fortran ou du C pour pouvoir le compiler facilement et l'utiliser sur une machine HP9000 sous HP-ux que j'ai à mon boulot. Peu importe si c'est du mode console ou de la GUI.
    Merci de me donner des pistes pour dégotter ça,

Discussions similaires

  1. Comment compiler un projet avec lua
    Par Mindiell dans le forum Dev-C++
    Réponses: 1
    Dernier message: 13/03/2007, 23h08
  2. Compilation des MFC avec gcc
    Par ricardo8125 dans le forum MFC
    Réponses: 10
    Dernier message: 22/12/2006, 17h29
  3. Comment compiler pas pas avec Dev-C++?
    Par Krounet dans le forum Dev-C++
    Réponses: 2
    Dernier message: 26/11/2006, 02h24
  4. Comment compiller mon projet avec Dev C++
    Par Micheal1221 dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/07/2006, 12h38
  5. Réponses: 13
    Dernier message: 19/01/2006, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo