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 :

Quel(s) risque(s) y a t il a linker une appli avec les MFCs en shared lib ?


Sujet :

Visual C++

  1. #1
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut Quel(s) risque(s) y a t il a linker une appli avec les MFCs en shared lib ?
    Bonjour a tous,

    Actuellement, je developpe des applis liées statiquement a la CRT (/MT[d] pour les connaisseurs). Je fais ça pour des raisons historiques (wrt la société et une autre société soeur..)

    Toutefois, ce choix nous pose des soucis d'évolution et on envisage de lier les applis dynamiquement a la CRT (/MD[d]). Je me suis renseigné pour connaitre les raisons du choix initial de /MT et on m'a répondu que les mises a jour de Windows pouvaient engendrer des pb a l'utilisation d'appli a cause de changements dans les DLLs. J'ai toutes les raisons de croire la personne qui m'a affirmé ça mais son expérience date de de quelques années (epoque de VC++ 6.0 et nous sommes passés a VS2005).

    voici donc mes questions:
    1) Est-ce que ce risque est réel et se rencontre "couramment" ou est-ce plus un risque théorique ...
    2) le changement de compilateur VC++6 ->2005 peut-il influer (en bon ou en mauvais) sur ce pb
    3) si le risque existe toujours, comment le prévenir ? Je précise que les machines que nous déployions ne sont pas connectées a internet donc pas de risque de MAJ parasite mais nos machines de dev le sont elles...

    Merci de vos avis et n'hésiter pas a poser des questions si cela est nécessaire

    V

  2. #2
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    1/ le risque est bien réel, d'ailleurs si tu utilises les mfc par exemple, tu risques de devoir installer le package redistribuable sur les ordinateurs ne disposant pas de VS

    2/ la rétrocompatibilité est normalement assurée, mais bon tu prends un risque : à toi de voir

    3/ en liant les dépendances statiquement à ton exécutable/ ta librairie : c'est plus volumineux, mais normalement sans mauvaise surprise

    Je base ceci sur mon expérience, après je n'affirme pas avoir 100% raison.
    Quoi qu'il en soit, bon courage

  3. #3
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut
    Slt

    Citation Envoyé par TheGzD Voir le message
    1/ le risque est bien réel, d'ailleurs si tu utilises les mfc par exemple, tu risques de devoir installer le package redistribuable sur les ordinateurs ne disposant pas de VS
    oui, j'avais prevu ca ...

    Citation Envoyé par TheGzD Voir le message
    2/ la rétrocompatibilité est normalement assurée, mais bon tu prends un risque : à toi de voir
    As-tu deja rencontré ce genre de pb ? comment les as-tu gérés ? recompil du programme ?
    Est-ce courant comme pb (1/2 fois par semaine/mois/an) ?
    Ce qui me surprend en fait, c'est que les applis qui sont basées sur les MFC en DLL ne sont pas mise a jour frequemment donc je me dis que les DLLs MFC doivent etre dans un etat relativement stable, ou du moins pas mis a jour tres frequemment ....

    Citation Envoyé par TheGzD Voir le message
    3/ en liant les dépendances statiquement à ton exécutable/ ta librairie : c'est plus volumineux, mais normalement sans mauvaise surprise
    oui, c'est qui avait conduit au premier choix, toutefois ca pose des pb, notamment le partage de memoire entre DLL et application d'une part mais aussi on envisage de passer nos GUI sous QT et la, on doit entre en "MFC-shared lib" si on veut pas debourser plusieurs dizaine de k€

    Citation Envoyé par TheGzD Voir le message
    Je base ceci sur mon expérience, après je n'affirme pas avoir 100% raison.
    Quoi qu'il en soit, bon courage
    merci

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 446
    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 446
    Par défaut
    Franchement, le plus gros problème vient de librairies et de leur API mal conçu qui oblige au big-bang de tout le monde doit utiliser la même C-Runtime.
    Il en suffit d'une avec les mauvaises options, sans les sources, et vous êtes dans la moïse.
    1) Est-ce que ce risque est réel et se rencontre "couramment" ou est-ce plus un risque théorique ...
    Le problème, plus que d'être lié à des problèmes de mis à jour des dll Windows, est un problème de portabilité sur les différents OS Windows.
    A l'époque, par exemple, il y avait des bugs de libération mémoire dans la C-Runtime dll de Win95 et le cycle de paching de l'époque n'avait rien à voir avec l'actuel.
    Donc, une application qui marchait correctement sous WinNt pouvait fuir sous Win95.

    L'utilisation du SxS (Side by Side) de la C-Runtime application par application permet de s'isoler des modifications de la C-Runtime de l'OS.
    Donc si VS2005 gère le SxS, comme je le crois, plus de problème, s'il existait.

    2) le changement de compilateur VC++6 ->2005 peut-il influer (en bon ou en mauvais) sur ce pb
    Bin oui

    3) si le risque existe toujours, comment le prévenir ? Je précise que les machines que nous déployions ne sont pas connectées a internet donc pas de risque de MAJ parasite mais nos machines de dev le sont elles...
    Le problème de compatibilité avec de librairies males fagotées restent un risque majeur.
    Pour prévenir, comme toujours, des tests unitaires exhaustifs et exécutés régulièrement.
    Définir aussi correctement le problème, car le problème des montés de version des dll, c’est très très vague. Cela permettra de vérifier le problème et de vérifier que la mise en place d’outils de corrections comme le SxS le prévient.

  5. #5
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    oui, c'est qui avait conduit au premier choix, toutefois ca pose des pb, notamment le partage de memoire entre DLL et application d'une part mais aussi on envisage de passer nos GUI sous QT et la, on doit entre en "MFC-shared lib" si on veut pas debourser plusieurs dizaine de k€
    le prix de la tranquillité il faut croire

Discussions similaires

  1. Quels sont les risques avec les composants freeware ?
    Par gduo200 dans le forum Composants VCL
    Réponses: 16
    Dernier message: 18/09/2007, 18h08
  2. Quel EDI pour une appli commerciale?
    Par altadeos dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 01/12/2005, 18h34
  3. Quels composants pour une synchro avec palm ?
    Par tipiweb dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/11/2005, 15h06
  4. quel serveur avec les portails
    Par shirya dans le forum Langage
    Réponses: 1
    Dernier message: 31/10/2005, 22h58
  5. Quels outils pour dvper une appli de gestion Full Web ?
    Par Neva dans le forum Général Conception Web
    Réponses: 8
    Dernier message: 18/03/2005, 18h56

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