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 :

Compilation avec gcc: initialization from incompatible pointer type


Sujet :

C++

  1. #1
    Membre �clair� Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par d�faut Compilation avec gcc: initialization from incompatible pointer type
    Hello world

    Je reprend un code dont je ne connais quasiment rien, la bonne nouvelle � la premi�re compile il y a peu d'erreur, 3 pour �tre pr�cis, la mauvaise erreur sur des pointeurs.....

    C'est � chaque fois la m�me chose mais sur des fonction diff�rentes:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    attention : initialization from incompatible pointer type [-Wincompatible-pointer-types]
       ULONG(*MmQueryAddressProtectFix)(IN PVOID VirtualAddress) = &MmQueryAddressProtect;
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    attention : initialization from incompatible pointer type [-Wincompatible-pointer-types]
     KIRQL(*KeRaiseIrqlToDpcLevelFix)(void) = &KeRaiseIrqlToDpcLevel;
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    attention : initialization from incompatible pointer type [-Wincompatible-pointer-types]
     VOID(*KfLowerIrqlFix)(  KIRQL   NewIrql )   = &KfLowerIrql;
    J'utilise cygwin sur windows 7 64 bit.
    Auriez vous une id�e SVP?

    Merci

  2. #2
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par d�faut
    Il nous faudrait au minimum conna�tre :

    • la signature des fonctions cit�es s'il s'agit de noms de fonctions ;
    • le type des objets cit�s (� droite de l'op�rateur =) s'il s'agit de variables pointant sur des fonctions.


    Le fait que ces lignes g�n�rent des avertissements et que les variables d�clar�es portent le suffixe Fix n'est pas bon signe.

  3. #3
    Membre �clair� Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par d�faut
    Merci

    Malheureusement je reprend le truc et je ne dispose que de peux d'information....

    Bon en lisant le code je suis tomb� sur la d�finition de PVOID:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    typedef PVOID PKEXCEPTION_FRAME;
    Et le tous semble avoir un lien avec le Kernel Windows....

  4. #4
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par d�faut
    Je reformule mon interrogation : comment sont d�clar�s MmQueryAddressProtect, KeRaiseIrqlToDpcLevel et KfLowerIrql ?

  5. #5
    Membre �clair� Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par d�faut
    J'ai trouv� la d�finition de ULONG:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    typedef long LONG, *PLONG;
    typedef unsigned long ULONG, *PULONG;
    typedef PULONG ULONG_PTR;
    PVOID:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    typedef void VOID, *PVOID, *LPVOID;
    J'espere que cela peux aider....

  6. #6
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Cela n'aide en rien, ce sont juste les d�finitions que l'on trouve sur absolument tous les headers syst�me.
    Si l'on t'a demand� de corriger �a, probablement que tu dois en avoir les comp�tences ?
    C'est un simple type mismatch. Peut-�tre que le compilo �tait auparavant plus souple. En tous cas maintenant il tique.
    Pour corriger �a y'a pas 500 solutions : soit la variable change de type, soit ce qu'on met dedans change de type. Soit on y va � la crade avec du cast.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  7. #7
    Membre �clair� Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par d�faut
    Autant pour moi l'erreur ne venait pas de l� ce n'est qu'un warning.....je doit chercher ailleurs ce qui emp�che d'aller au bout le code...


    Merci

    NB: j'ai desisntaller la version de Cygwin 64 t j'ai install� la version 32 bit et la sa marche, j'ai tjr les warning maus sa marche.

  8. #8
    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
    Un warning, c'est un message du compilateur pour te dire qu'il y aura des bugs.
    Ca ne marche pas tant qu'il y en a.

  9. #9
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 504
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 504
    Par d�faut
    Citation Envoy� par Matt_Houston Voir le message
    Je reformule mon interrogation : comment sont d�clar�s MmQueryAddressProtect, KeRaiseIrqlToDpcLevel et KfLowerIrql ?
    MmQueryAddressProtect : Bricolage fait sur du reverse-engineering du Kernel NT Windows :
    https://github.com/advancingdragon/D...irtboxKernel.h

    KeRaiseIrqlToDpcLevel : primitive au niveau du Kernel Windows, on n'est clairement pas dans du code qui tourne en mode User mais en Ring0
    https://msdn.microsoft.com/en-us/lib...or=-2147217396

    KfLowerIrql : idem MmQueryAddressProtect

    Demander � un pied-tendre de faire du Ring0, en C++, sous Windows avec Cygwin, ils ont une confiance �norme dans vos capacit�s d'adaptation, ou ils sont compl�tement aux fraises vos managers.

  10. #10
    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
    Je vote pour les fraises

  11. #11
    Membre �clair� Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par d�faut
    C'est un projet perso...non professionnelle....

    J'ai not� vos remarques et me serons tr�s utiles.

    Merci

  12. #12
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    Tout �a ressemble � des tentatives de faire pointer des pointeurs de fonction vers des fonctions qui n'ont pas la m�me convention d'appel...
    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.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 15
    Dernier message: 21/01/2009, 15h21
  2. R�ponses: 9
    Dernier message: 21/10/2006, 13h38
  3. compilation avec gcc: erreur inhabituelle
    Par artatum dans le forum C
    R�ponses: 4
    Dernier message: 12/10/2005, 17h13
  4. Problème de compilation avec gcc
    Par Niktou dans le forum Linux
    R�ponses: 9
    Dernier message: 27/09/2005, 15h18
  5. compilation avec gcc : erreurs bizard !!!
    Par CodeurN� dans le forum C
    R�ponses: 2
    Dernier message: 23/09/2005, 18h09

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