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

SL & STL C++ Discussion :

[STL] STL et debug


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut [STL] STL et debug
    Bonjour,
    je voudrais savoir comment faire pour qu'en mode debug sous VC8,
    les vector ne soit pas horriblement lent.
    J'ai fais du pas a pas ,
    et le code généré en debug passe dans plusieurs fonction de test qu'il ne fait pas (je pense) en release. Ce qui rend le debugage trés lent.

    merci

  2. #2
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Bonjour,

    je ne comprends pas bien la question. Une compilation en release est differente d une compilation debug. Les fonctions qui ne seront pas effectuée en debug sont celles encapsuler dans un bloc #ifdef _DEBUG sous VStudio (API Microsoft) de memoire.

    Mais je ne vois pas le probleme. Lorsque tu livres ton appli, tu livres une release, pas une debug, et c'est toujours sympa d'avoir un max d info en developpement.

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Tu peux toujours faire du debug avec vector optimisé. Il doit y avoir des symboles à définir au niveau du préprocesseur pour épargner les vérifications lourdingues dans la STL de VC++, sinon au pire tu peux toujours bidouiller les options de compilation.

    Mais personnellement je n'ai jamais eu de problème avec std::vector en mode debug, enfin rien qui ne m'empêchait d'exécuter le programme convenablement. Peut-être que ton code n'est pas optimal ?

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Laurent Gomila
    Peut-être que ton code n'est pas optimal ?
    en faite, c'est pour un filtre median:
    pour chaque pixel,
    - J'utilise les vector (R,G,B) pour stocker les valeurs des pixels d'une zone entourant le pixel,
    - je les class avec un sort
    - je rend la valeur au milieu des vector.


    C'est vrai qu'il n'est pas optimal. Malheureusement, en debug, ce bout de code est bien trop lent. Ce qui rend le debugage improductif et surtout prise de tête.

    je vais regarder le préprocesseur.
    merci

    Citation Envoyé par Laurent Gomila
    épargner les vérifications lourdingues dans la STL de VC++
    ce n'est le cas que pour VC++ ?

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Regarde du côté de SECURE_SCL, ou un nom du genre.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Pour être un peu plus précis, je pense que tu peux t'en tirer en définissant _HAS_ITERATOR_DEBUGGING et _SECURE_SCL à 0 dans les options du préprocesseur.

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par BainE
    une debug, et c'est toujours sympa d'avoir un max d info en developpement.
    C'est a double tranchant. Si le vector est utilisé trés souvent, genre 2000*2000, en debug c'est horriblement lent...

    Et même question pour la release, comment être sur que les exceptions de la stl ne soit pas active?

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

Discussions similaires

  1. [C++/STL Map] Segfault en Release, rien en Debug
    Par Bluespear dans le forum SL & STL
    Réponses: 3
    Dernier message: 28/04/2010, 09h25
  2. STL::vector crash a l"execution
    Par sebA dans le forum MFC
    Réponses: 2
    Dernier message: 16/06/2004, 16h36
  3. Probleme de Compilation de la STL
    Par stoluup dans le forum MFC
    Réponses: 3
    Dernier message: 05/05/2004, 17h25
  4. STL : std::set problème avec insert ...
    Par Big K. dans le forum MFC
    Réponses: 13
    Dernier message: 08/11/2003, 01h02
  5. [Kylix] [BCB] pb avec la STL
    Par pykoon dans le forum EDI
    Réponses: 1
    Dernier message: 29/12/2002, 12h56

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