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

Visual C++ Discussion :

Directives de compilation


Sujet :

Visual C++

  1. #1
    Membre �prouv�
    Inscrit en
    Mai 2007
    Messages
    157
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par d�faut Directives de compilation
    Bonjour,

    je cherche s'il est possible de d�finir, en commande preprocesseur, que la compilation echoue si on ne fait pas de test sur une methode c++ qui doit retourner un booleen.

    prenons la methode static bool MaClasse::MaMethode(unsigned ...)

    maintenant dans le main si j'appel la methode de cette facon:

    MaClasse::MaMethode(1,....)

    et non pas

    if( MaClasse::MaMethode(1,....) )

    Est il possible de forcer le compilateur a detecter que je n'effectue pas de test sur la variable retourn�e?

    Cdt

    rikau2

  2. #2
    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
    Dans l'�dition la plus ch�re de Visual Studio 2005, il y a une fonction optionnelle appel�e "code analysis" qui utilise des attributs mis dans le code source pour donner des warnings.

    Mais, seulement dans l'�dition la plus ch�re (Visual Studio 2005 Team System)...
    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.

  3. #3
    Membre �prouv�
    Inscrit en
    Mai 2007
    Messages
    157
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par d�faut
    Ok thanks pour ta r�ponse.
    Avec la version Visual c++ 6.0 c'est possible? je veux dire est-ce que ca correspond � la version Team system?

  4. #4
    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
    Je ne sais m�me pas si la Code Analysis existait � l'�poque de Visual 6.
    Il faut vivre avec son temps...
    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.

  5. #5
    Membre �prouv�
    Inscrit en
    Mai 2007
    Messages
    157
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par d�faut
    Vivre avec son temps..... Vivre en entreprise pour comprendre le vrai cout d'un changement de version

  6. #6
    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
    C'est vrai que je suis un peu de mauvaise foi, on a toujours des projets sous VC++6 au boulot.

    Mais c'est quand m�me vachement plus pratique sous 2005. Surtout pour les programmes MFC, quand on a des probl�mes d'unicode (O� l'on a plus seulement CString, mais aussi CStringA et CStringW).
    Le plus gros projet de mon �quipe, on l'a pass� sous 2005 peu avant mon arriv�e.
    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.

  7. #7
    Membre �prouv�
    Inscrit en
    Mai 2007
    Messages
    157
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par d�faut
    Je suis d'accord avec toi c'est plus simple sous 2005. J'ai la version via MSDN sur mon perso mais pour le travail au bureau j'ai reussi a passer sous VC++ 6.0 car avant j'etais sous MinGW et la en comparaison,, VC++ c'est la grande classe.

    Puisque tu as particip� au portage de VC++ a VS 2005 peut tu me dire comment changer rapidement des probl�mes de compatibilit�e du genre
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    for each(char c in xxx)
     
    en for (int i=0; i< machaine.size(); i++)
    {
        chaine.at(i)....
    }
    J'entend le passage de l'un a l'autre; Option dans le compilateur? compatibilit�e descendante?

    Sous VS 2005 il est possible de faire ce dont tu parlais au d�but du topic? (avec VC team....)

    Finalement, une derniere question:
    Est il possible de configurer de mani�re simple, et sans que cela mette la pagaille dans mon registre (j'avais utilis� le didac du site), Qt pour l'utiliser sur un poste Windows XP Home Edition? La derniere fois que j'ai tente la configurqation, j'ai du reinstaller VS2005.

    Y a t'il eu des evolutions pour permettre un portage vers VS 2005?

    Cdt

    rikau2

  8. #8
    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
    Euh... for each, c'est suppos� exister sous Visual 6 ?
    Pour moi, c'est du .Net, �a...
    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.

  9. #9
    Membre �prouv�
    Inscrit en
    Mai 2007
    Messages
    157
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par d�faut
    En effet en .Net tu l'as mais sous VS 2005, tu peux utiliser le for each en programmation c++ car VS utilise le meme SDK dans les 2 cas (normalement) et les memes lib.

    Le fait que justement tu puisses faire des choses de ce genre avec du VS 2005 pose probl�me lorsque tu repasses en VC++ 6.0 (besoins pro obligent). Y a t'il alors possibilit� de configurer le Compilateur pour qu'il accepte exactement et exclusivement les biblio standard et qui assurent une compatibilit�e ascendante et descendante?

  10. #10
    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
    Il y a toujours une options "Disable language extensions" sous 2005, mais �a d�sactivera aussi celles de Visual 6.

    Mais NON, tu ne peux pas utiliser le for each en programmation C++ native, car m�me si le for each lui-m�me passe, il ne marche que sur les types manag�s:
    Code C++ : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    	int abc[3];
    	for each(int a in abc) //provoque une erreur C3285
    	{
    	}
    Erreur C3285

    Pour moi, si tu programmes en natif, tu programmes en natif.
    Mais si tu passes � VS2005, ce n'est pas pour repasser � Visual 6 : Cela �quivaudrait � retourner aux bugs de Visual 6 (notamment au niveau C++ et templates), et dans le cas de MFC, � une version de MFC trop vieille pour �tre pratique quand tu dois mixer de l'unicode avec du non-unicode ou du TCHAR.
    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.

  11. #11
    Membre �prouv�
    Inscrit en
    Mai 2007
    Messages
    157
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par d�faut
    En fait, au travail je n'ai que VC++ et MinGW, et � mon domicile, je travail sous VS 2005. Mon projet sera d�finitivement compil� sous MinGW quand j'integrerai l'interface graphique r�alis�e sous Qt.

    Ce que je recherche est donc un moyen de m'assurer que le code �crit sous VS compilera sans aucune erreur sous VC.

    Pour le for each, chez moi ca fonctionne au run en c++ programm� sous VS sans erreures.

    Pas d'infos pour Qt sous VS 2005?



    rikau2

Discussions similaires

  1. R�ponses: 2
    Dernier message: 11/02/2006, 15h42
  2. Directives de compilation pour g++
    Par Jfrancois57 dans le forum Autres �diteurs
    R�ponses: 3
    Dernier message: 09/11/2005, 11h23
  3. Directives de compilation (globales ?)
    Par korntex5 dans le forum Langage
    R�ponses: 6
    Dernier message: 24/10/2005, 14h13
  4. directive de compilation
    Par gandf dans le forum C++Builder
    R�ponses: 4
    Dernier message: 12/02/2005, 10h46
  5. Directives de compilations.
    Par ushu dans le forum Langage
    R�ponses: 2
    Dernier message: 28/01/2003, 10h44

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