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 :

des infos sur GetMainArgs () ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 217
    Par défaut des infos sur GetMainArgs () ?
    Bonjour à tous!
    Je souhaiterais avoir des informations sur GetMainArgs, getmainargs, _getmainargs ou __getmainargs (je ne connais pas la syntaxe précise, et je crois que cette fonctions existe pour tous ces exemplaires suivant les compilateurs et les languages).

    J'ai déjà recherché par moi-même, mais il n'y a aucune occurence de ce nom dans les header files du compilateur que j'utilise (gcc), rien dans win32.hlp, et je n'ai rien trouvé d'interessant sur msdn (d'un autre coté je n'ai jamais rien trouvé sur msdn, avec un système de classement aussi pourri...).

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par _Michel Voir le message
    Je souhaiterais avoir des informations sur GetMainArgs, getmainargs, _getmainargs ou __getmainargs (je ne connais pas la syntaxe précise, et je crois que cette fonctions existe pour tous ces exemplaires suivant les compilateurs et les languages).

    J'ai déjà recherché par moi-même, mais il n'y a aucune occurence de ce nom dans les header files du compilateur que j'utilise (gcc), rien dans win32.hlp, et je n'ai rien trouvé d'interessant sur msdn (d'un autre coté je n'ai jamais rien trouvé sur msdn, avec un système de classement aussi pourri...).
    C'est une fonction de la bibliothèque C sous Windows (MSCRT.DLL) qui n'est pas documentée par MSDN. Il est donc normal que tu ne la trouves pas dans MSDN. Elle est utilisée par le startup des applications écrites en C. Elle ne concerne que les implémenteurs de langage C.

    Elle n'est donc pas utile si on utilise le C standard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int main (int argc, char *argv)
    pour récupérer les paramètres de la ligne de commande.

    Quel est ton but exact ?

  3. #3
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    tu peux utiliser __argc et __argv (ou __wargv en unicode) ....

    Ils permettent notamment dans une appli windows de type WinMain...
    d'obtenir argc et argv comme avec un main C standard...

    ils sont inclus dans le <stdlib.h> fournis par microsoft...
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 217
    Par défaut
    Donc si j'ai bien compris, c'est une fonction de l'API Windows que tous les programmes utilisent, mais c'est le compilateur qui fait tous le boulot.

    Pour ne rien vous cacher, j'essaye de désassembler le code obtenu par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int main ()
    {
        return 0;
    }
    Mais la tâche est assez dure, si la plupart des fonctions appelées ne sont documentées nul part... c'est pour cela que je demande des infos à ceux qui connaissent, au moins le prototype.

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par _Michel Voir le message
    Donc si j'ai bien compris, c'est une fonction de l'API Windows que tous les programmes utilisent, mais c'est le compilateur qui fait tous le boulot.
    En quelque sorte, oui.
    Pour ne rien vous cacher, j'essaye de désassembler le code obtenu par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int main ()
    {
        return 0;
    }
    Pourquoi tu veux faire ça ? Quel est ton compilateur ? Il est probable que tu puisses obtenir le code du startup.

    Exemple pour MinGW...

    http://mingw.cvs.sourceforge.net/*ch...runtime/crt1.c

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 217
    Par défaut
    En fait, je débute en assembleur, et comme je suis pas mal interessé par le fait d'interfacer de l'assembleur avec un language de plus haut niveau (le C par exempe), ça fait un exercice assez instructif que de désassembler le code d'un startup.

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

Discussions similaires

  1. [VBSCRIPT]Obtenir des info sur un PC distant
    Par rezo972 dans le forum Windows
    Réponses: 11
    Dernier message: 30/03/2006, 18h22
  2. [servlet] Récupérer des infos sur le client
    Par kenito dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 07/09/2005, 18h08
  3. Obtenir des infos sur une page web en ligne
    Par Logan_Cale dans le forum Web & réseau
    Réponses: 1
    Dernier message: 20/08/2005, 15h36
  4. Réponses: 3
    Dernier message: 15/03/2004, 00h55
  5. Récupérer des infos sur un AVI
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2003, 14h25

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