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 :

problème de fichier objet


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut problème de fichier objet
    salut !

    je code en C et assembleur (nasm)

    est-il possible de modifier les symboles d'un fichier objet de local a global ?

    existe t'il une solution pour éviter l'utilisation de la directive "extern" en C ou "global" en ASM car devoir préciser a chaque fois pour chaques variables ou fonctions ,c'est assez chiant.

    ça devient assez pénible quand on fait de la programmation modulaire , il doit bien exister une solution pour que le compilateur ou linker retrouve les variables et fonctions tout seul comme un grand.

    merci de votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Citation Envoyé par wolfterror Voir le message
    est-il possible de modifier les symboles d'un fichier objet de local a global ?

    existe t'il une solution pour éviter l'utilisation de la directive "extern" en C ou "global" en ASM car devoir préciser a chaque fois pour chaques variables ou fonctions ,c'est assez chiant.
    Non.
    Un objet local n'apparait que pour des raison de debug. On peut tout à faire avoir 2 symboles locaux de même nom, alors que deviendraient-ils en global!
    "extern" en C n'est pas une directive. Cela permet d'indiquer que l'instance est peut-être à chercher ailleurs, et le texte qui suit "extern" doit impérativement préciser le type pour l'utiliser. Si veut utiliser une instance, il faut la déclarer en utilisant "extern".
    "GLOBAL" en assembleur joue le même rôle, on n'a pas besoin du type mais il faut définir un nom pour pouvoir l'utiliser

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    D'un autre coté, un bon fichier d'en-tête déclarant les variables extern pourrait mutualiser beaucoup de code.

    Et quand on fait de la programmation modulaire, on évite les variables globales visibles de l'extérieur du module.
    Je définirai plutot des structures de contexte, que je passerai en argument à mes fonctions.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/04/2010, 20h01
  2. Réponses: 1
    Dernier message: 09/10/2007, 06h44
  3. [FLASH MX] Problème avec l'objet Date
    Par n_tony dans le forum Flash
    Réponses: 13
    Dernier message: 22/03/2005, 13h44
  4. Problème avec fichier texte
    Par jpdelx dans le forum ASP
    Réponses: 7
    Dernier message: 13/11/2003, 13h17

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