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 :

C++ et Framework .net impliquent-ils une dépendance ?


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 98
    Par défaut C++ et Framework .net impliquent-ils une dépendance ?
    Bonjour,

    Je sais que le framework .net est utilisable par plusieurs langages dont le C++ mais est-ce que le fait d'utiliser le framework implique une dépendance lors de l'exécution de l'application (obligation d'avoir le framework installé sur la machine de l'utilisateur) ou le code est compilé et directement utilisable en natif ?

    Merci de votre aide !

  2. #2
    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
    Citation Envoyé par darioo2 Voir le message
    Bonjour,
    Je sais que le framework .net est utilisable par plusieurs langages dont le C++ mais est ce que le fait d'utiliser le framework implique une dépendance lors de l'execution de l'application (obligation d'avoir le framework installé sur la machine de l'utilisateur) ou le code est compilé et dirrectement utilisable en natif ?
    Merci de votre aide !
    Le support du framework .NET n'existe pas vraiment en C++ en tant que tel. Il y a en fait un nouveau langage, nommé C++/CLI, qui partage une partie de sa syntaxe avec le C++, et une autre partie avec .NET. Sauf erreur, tout code C++ valide est censé être recompilable en C++/CLI. Mais dans ce langage, une classe C++ et une classe .NET sont de natures différentes, et il n'est pas possible de mélanger ces deux catégories de types comme on veut.

    Maintenant, le framework .NET demande toujours une installation sur le poste client, quel que soit le langage l'utilisant. Le seul point positif est qu'avec le temps, il devient de plus en plus probable qu'un autre programme l'ait déjà installé au préalable.
    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.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 98
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Le support du framework .NET n'existe pas vraiment en C++ en tant que tel. Il y a en fait un nouveau langage, nommé C++/CLI, qui partage une partie de sa syntaxe avec le C++, et une autre partie avec .NET. Sauf erreur, tout code C++ valide est censé être recompilable en C++/CLI. Mais dans ce langage, une classe C++ et une classe .NET sont de natures différentes, et il n'est pas possible de mélanger ces deux catégories de types comme on veut.

    Maintenant, le framework .NET demande toujours une installation sur le poste client, quel que soit le langage l'utilisant. Le seul point positif est qu'avec le temps, il devient de plus en plus probable qu'un autre programme l'ait déjà installé au préalable.
    Merci pour ta réponse,
    Mais je fais déjà un peu de C# qui implique une dépendance au framework, finalement je n'y gagnerais pas en autonomie en codant en C++ et utilisant le framework ?

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Salut,
    Citation Envoyé par darioo2 Voir le message
    Merci pour ta réponse,
    Mais je fais déjà un peu de C# qui implique une dépendance au framework, finalement je n'y gagnerais pas en autonomie en codant en C++ et utilisant le framework ?
    c'est une vaste question...
    d'abord pour répondre à la question initiale, sous VC++ il faut créer un projet en C++/CLI dont parle Loïc.
    Ceci dit je crois que cela doit être possible si tu fais un projet pure win32 MFC ou non de mélanger du code compilé en natif avec du managed code grâce à la prédirective _gc et certainement en spécifiant certaines options dans les propriétés.

    Maintenant pour ce qui est de coder en C++ tu as plusieurs possibilités soit tu fais un projet en grande partie en C++/CLI mais tu seras toujours dépendant du framework.
    Le code compilé sera du code managed qui fournira du Common Langage Runtime...
    soit tu fais un projet 100% code natif soit en win32 pure soit avec les classes MFC ou bien voire Qt
    L'avantage de faire un projet avec .NET c'est que tu peux appeler des webservices etc..
    par contre niveau performance c'est moindre qu'en natif..
    Mais je le répète tu peux faire un projet en C++ compilé natif et appeler des composants .NET et du managed code

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Mat. M tu renres trop dans les détails, la question de darioo est simple.

    Citation Envoyé par darioo2 Voir le message
    Mais je fais déjà un peu de C# qui implique une dépendance au framework, finalement je n'y gagnerais pas en autonomie en codant en C++ et utilisant le framework ?
    La réponse est non, tu ne gagnes pas en autonomie d'un point de vue client lors d'un portage de C# vers C++.

    Si tu es en début de projet, réfléchis bien à la dépendance à .NET qui est forte. Perso je m'efforce de faire du cross-platfom tant que c'est possible. .NET présente un intérêt dans une entreprise pour faire communiquer des applicatioins entre elle mais ton projet ne le nécessite peut être pas ?

  6. #6
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Citation Envoyé par jblecanard Voir le message
    Mat. M tu renres trop dans les détails, la question de darioo est simple.



    La réponse est non, tu ne gagnes pas en autonomie d'un point de vue client lors d'un portage de C# vers C++.

    ?
    tu affirmes un truc faudrait peut-être développer plus en détail....
    tu ne fournis aucune explication

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Je ne te dois pas des détails à toi Mat. M, mais à l'auteur du post. Tu sais que c'est exact alors ne vient pas pourrir juste parce que tu es un peu vexé d'être rudoyé. Tu m'as downvoté pour un ressentiment personnel au lieu d'une critique constructive de mes propos.

    La raison est simple : à partir du moment où tu utilises des fonctionnalités du framework .NET, tu en as besoin pour exécuter le projet. .NET n'est pas un ensemble de bibliothèques qu'on peut lier en statique pour promener le code partout. C'est un écosystème logiciel complet et fortement lié aux plateformes Microsoft.

    En choisissant le C++, tu peux délimiter des parties de code qui ne dépendant pas de .NET et qui seront compilables/utilisables ailleurs. Ca te donne plus d'indépendance pour des parties de code si tant est que ton projet aie besoin d'une base de code partagé. Sur le projet en entier, exécutable, la dépendance est toujours présente.

Discussions similaires

  1. Réponses: 197
    Dernier message: 19/08/2016, 11h09
  2. Réponses: 3
    Dernier message: 17/05/2013, 15h44
  3. [VB.NET]Comment Imprimer une form
    Par bernard06 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/10/2011, 17h43
  4. [VB.NET] Ajouter une dépendance à un service
    Par Cricket dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/05/2011, 20h55
  5. Desactiver une version du FrameWork .NET
    Par alexadvance dans le forum C#
    Réponses: 4
    Dernier message: 07/10/2010, 15h22

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