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

Affichage des résultats du sondage: Quel CRT choisissez-vous ?

Votants
6. Vous ne pouvez pas participer à ce sondage.
  • /MT uniquement

    0 0%
  • /MTd uniquement

    0 0%
  • /MD uniquement

    1 16,67%
  • /MDd uniquement

    0 0%
  • /MT et /MTd

    3 50,00%
  • /MD et /MDd

    2 33,33%
C++ Discussion :

[CRT] Quels choix pour développer un projet complet


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut [CRT] Quels choix pour développer un projet complet
    Bonjour à tous,

    Au cours du développement d'un projet C++, on a devant nous un paquet de choix parmi toutes les CRT. Laquelle où lesquelles utilisez-vous et pourquoi ?
    Beaucoup de bibliothèques sur le Net sont données en Release /MT, ce qui pose parfois des incompatibilités dans l'édition des liens. Du coup, il faut se taper toute la recompilation...

    Personnellement, j'étais parti pour :
    Debug : /MDd
    Release : /MD
    Mais quand on commence à avoir 36000 bibliothèques, les problèmes commencent. Il y a relativement peu de lib fourni avec ce genre de CRT (elles ne sont pas toutes comme Boost).

    Merci d'avance pour l'explication de vos expériences personnelles.

    Poukill

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    C'est bizarre j'aurais dit l'inverse : qu'il y a plus de bibliothèques pré-compilées fournies en multi-threaded DLL (Qt, xerces, ogre, ...) qu'en autre chose.
    Mais c'est vrai qu'en pratique il faut quand même recompiler un max de trucs (surtout si tu dois supporter plusieurs couples plates-formes/compilateurs).

    Après sur le nombre de bibliothèques j'ai jamais vraiment eu de problème et pourtant mon répertoire lib/vc80/ local contient 480 éléments (tout n'est pas utilisé sur tous les projets).
    Faut dire qu'avoir un système centralisé automatisé pour gérer tout ça facilite pas mal les choses (serveurs de build, scripts pour récupérer les dépendances ou déployer une nouvelle version, etc..).
    Quand la mise à jour d'une bibliothèque externe sur 50 projets à la fois se fait en copiant 3 archives sur un serveur et en cliquant sur un bouton, on peut se permettre de le faire souvent.

    Je m'éloigne un peu du sujet cela dit...

    MAT.

  3. #3
    screetch
    Invité(e)
    Par défaut
    j'utilise les versions DLL. En effet, je modifie quelques settings de l'allocateur pour la gestion des leaks et si mes DLL sont linkées statiquement alors je dois le changer pour chaque DLL (berk)

    de plus je travaille avec beaucoup de DLL donc avoir malloc dupliqué dans autant de DLL ce n'est pas franchement genial.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    J'utilise toujours la CRT dynamique.
    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 Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Rebonjour à tous,
    J'ai récemment réaliser un petit test avec un petit programme à moi compilé en /MD et /MT. J'ai testé sur pas mal de machines.
    En /MT il est passé partout, pas en /MD. Des fois oui, des fois non. Windows me demandais de "réinstaller l'application pour éventuellement corriger le problème". (j'ai pourtant fourni toutes les DLL) Il y a des PC sur lesquels je n'ai jamais réussi à les faire marcher...

    Pour distribuer une application, vous pensez que les CRT /MD et /MT devraient être équivalentes?

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Si tu as un Visual récent, la CRT correspondante n'est pas garantie être installée, et doit donc être considérée comme une "bibliothèque supplémentaire" comme les autres.

    En clair, tu peux soit distribuer la CRT avec (elle est composée de 4 fichiers: 3 DLLs et un manifest), soit l'installer complètement (paquetage redistribuable).
    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 Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    J'ai Visual Studio 2005 Pro au boulot. A la maison je travaille sur Express 2008.
    Je pensais qu'il fallait simplement distribuer les MSVCRT80.dll, MSVCRP80.dll etc...
    Le manifeste, c'est la première fois que j'en entends parler... C'est quoi encore ce truc?

Discussions similaires

  1. Quel choix pour mon projet ? (Python or not Python)
    Par samue101 dans le forum Débuter
    Réponses: 3
    Dernier message: 09/06/2013, 22h56
  2. [Techno/Langage] Quel choix pour un gros développement orienté objet ?
    Par Neilos dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 18/05/2006, 17h29
  3. Quel composant pour développer une application de planning ?
    Par Wilco dans le forum Composants VCL
    Réponses: 7
    Dernier message: 19/02/2006, 13h12
  4. Réponses: 11
    Dernier message: 03/11/2005, 17h59
  5. Quel langage pour développer un logiciel de télétransmission
    Par gidebo dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 28/08/2003, 14h19

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