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 :

Identifier source et classe d'un argument


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut Identifier source et classe d'un argument
    bonsoir le forum,

    Je voudrais savoir, s'il est possible dans une fonction recevant un pointeur en arguments, de déterminer la classe de celle-ci : static ou auto?
    Est-il également possible d'identifier le processus ayant transmis la variable?
    Et enfin est-il possible en standard d'énumérer les processus en cours sur la pile d'un programme?

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par NVCfrm Voir le message
    Je voudrais savoir, s'il est possible dans une fonction recevant un pointeur en arguments, de déterminer la classe de celle-ci : static ou auto?
    Non il ne me semble pas, un pointeur pointe sur une adresse mémoire c'est tout et d'ailleurs tu ne peux même savoir sur quelle type de données il pointe sauf si c'est explicitement précisé dans l'argument.

    Citation Envoyé par NVCfrm Voir le message
    Est-il également possible d'identifier le processus ayant transmis la variable?
    Pas en standard non.

    Citation Envoyé par NVCfrm Voir le message
    Et enfin est-il possible en standard d'énumérer les processus en cours sur la pile d'un programme?
    Pareil, pas en standard, il faut que tu utilises les bibliothèques que ton système te fournit:
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    Et attention... processus et arguments/fonctions ne sont pas vraiment liés...

    Comme l'a dit Franck.H, tout va dépendre de ton OS !
    S'il s'agit de RPC sur Windows, c'est assez tordu, mais il s'agit d'interfaces préprocessées, donc tu connaitras le type (et de toutes façon tu DOIS connaitre le type...), et Windows pourra probablement te dire avec qui tu bavardes/échanges des données et fais des appels distants de fonctions ou procédures.
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  4. #4
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    Bonjour,
    merci beaucoup Frank pour les liens que je vais d'emblée approfondir!
    C'est frustrant, pour l'identification des classes de variables. Je pensais bêtement que l'appel d'une option du compilateur permettrait de connaître la classe.
    @Metalman: merci pour l'intérêt porté à la question. Il s'agit de windows.
    Je ne vois pas trop ce que tu veux dire par
    (et de toutes façon tu DOIS connaitre le type...)

  5. #5
    Membre Expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Par défaut
    En relisant ton premier post : en effet tu ne parles que de pointeurs... donc niveau typage c'est facile...

    Enfin quoique...
    Par "tu dois connaitre le type", c'est parce que le programme qui recevra la donnée devra "aussi" connaitre les structures/types pour pouvoir accéder aux champs.... enfin tu peux faire de l'arithmétique des pointeurs, mais c'est pas très facile/aisé.
    Mais comme tu sembles rester sur les même threads, ça devrait aller.
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  6. #6
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    re,
    Bien que le type est un cas pour une fonction recevant un pointeur du type void, je ne me suis pas encore donné ce casse tête d'identification du type d'une variable autrement que par les moyens conventionnels. Je pourrais revenir avec cette question.
    D'ailleurs je la pose maintenant: Certaines commandes de gdb whatis, ptype permettent de connaître le type d'une variable. Est il possible de les implémenter dans un programme?

    Pour revenir à la question initiale reformulée ainsi: les variables sont stockées dans différents segments: données, pile,... y a t-il un moyen pour une fonction de déterminer à quel segment appartient la variable?

    Merci.

Discussions similaires

  1. Package Jar avec source et classes
    Par speyron dans le forum Maven
    Réponses: 3
    Dernier message: 18/08/2008, 11h05
  2. Réponses: 4
    Dernier message: 11/04/2008, 11h36
  3. [Debutant] Sources des Classes
    Par youbyoub dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 00h39

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