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

C Discussion :

mot-clef local ?


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 6
    Par défaut mot-clef local ?
    Bonjour,

    Je viens de récupérer un code C qui date de 1996 et que j'essaye, en vain, de compiler avec gcc.
    Le problème est que ce code utilise le mot-clef 'local' dans la déclaration de ces fonctions et que ni gcc ni moi ne connaissons l'existence de ce mot-clef.
    Voici un extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void VisitCollectReplace(HANDLE *t, local int *collect)
    {
      register int temp = *collect;
      register int val = t->value;
      *collect = val;
      t->value = temp;
    }
    Malheureusement, je n'ai rien trouvé sur internet (pas facile de chercher 'C local keyword'). Je me demande si l'un de vous à déjà vu ce mot-clef, sait quelle option je dois donner à gcc pour qu'il l'accepte, ou peut me dire quel est son utilité ?
    Sinon je vais sûrement faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define local /*local*/

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Ce n'est pas du C standard en tous les cas, ni du GNU C d'ailleurs.
    Cordialement.

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Pour un pointeur, ça me reappelle la différence entre pointeurs near et far. Sur un système 32 bits, on peut les supprimer avec ce genre de define, mais en gardant à l'esprit les problèmes de taille si jamais un pointeur est casté en entier.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Ou, plus simple encore, ne pas toucher le code et te contenter d'un "-Dlocal" dans la ligne de commande GCC ?

    Sinon, c'est sûrement une extension du langage, c'est étonnant par contre que ce ne soit pas "__local", avec le double "_" en tête...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 6
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Ou, plus simple encore, ne pas toucher le code et te contenter d'un "-Dlocal" dans la ligne de commande GCC ?

    Sinon, c'est sûrement une extension du langage, c'est étonnant par contre que ce ne soit pas "__local", avec le double "_" en tête...
    Ah oui je n'y avais pas pensé, merci Mac LAK.
    Par contre laissé tomber, le code ne compile pas même sans le local.
    Il me manque un header introuvable sur le net (<cmd/cmmd.h>) et en plus il y a une partie en assembleur SPARC que je n'arriverai probablement pas à compiler (en tout cas gcc n'y arrive pas et je n'ai pas de machine SPARC à ma disposition).

    Merci pour votre aide, mais au final essayer de compiler du code de près de 15 ans, ce n'était pas forcément une brillante idée...

  6. #6
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 6
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Pour un pointeur, ça me reappelle la différence entre pointeurs near et far. Sur un système 32 bits, on peut les supprimer avec ce genre de define, mais en gardant à l'esprit les problèmes de taille si jamais un pointeur est casté en entier.
    Merci pour cette explication Médinoc (j'avais raté ta réponse la première fois).
    Je vais donc mettre cette question comme résolue (même si en toute logique, je devrais d'abord vérifier si ce mot clef n'est pas utilisé par un compilateur sur une architecture SPARC et qu'il correspondrait bien à cette définition)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] SQL et résultat de recherche par mot clef
    Par carelha dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/04/2006, 15h40
  2. Réponses: 1
    Dernier message: 11/03/2006, 09h55
  3. mot-clef static
    Par keil dans le forum C++
    Réponses: 8
    Dernier message: 25/01/2006, 17h11
  4. mot clef sql pour nom de champ
    Par bobinou007 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/10/2004, 13h21

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