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

VC++ .NET Discussion :

c++ sous visual questions


Sujet :

VC++ .NET

  1. #1
    Membre régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut c++ sous visual questions
    Bonjour ;

    j'ai un projet à réaliser en c++ , j'ai toujours travaillé avec java la j'ai plein de questions :

    on m'a conseille d'utilisé visuel studio , je suis sur visual studio ultimat 2013 ,

    mais ce que je ne comprends pas pourquoi il ne rajoute pas les includes prédéfinies comme sur netbeans , qu'est ce qu'il a de plus que les autre éditeur c++ !!??

    si je développe mon projet sous visual studio , est ce que il sera exécutable que sur windows et c'est quoi la différence entre un projet c++ realisé sous visual et un autre projet realisé sur les autre éditeurs , c'est quoi le but du .net dans tout ça .


    Merci pour vos réponses .

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Visual C++ permet de faire à la fois des programmes en C++ "normal" (qui seront compilables sous toutes les plate-formes tant que tu n'utilises pas de fonctions spécifiques à Windows*) et des programmes pour .Net, qui ne tourneront que sur le Framework .Net, partiellement** spécifique à Windows. La version .Net du langage est appelée C++/CLI, pour distinguer du C++ normal.

    .Net est une plate-forme comme Java, avec des fonctionnalités similaires: meilleure protection de la mémoire, ramasse-miettes, beaucoup de bibliothèques, etc. Très utile, mais C++/CLI est le langage le moins pratique pour programmer pour .Net. Généralement on s'en sert pour écrire le code "intermédiaire" entre un programme en C# et une bibliothèque C ou C++ normale.

    J'ignore ce que NetBeans a, mais Visual Studio a un très bon debugger. Toutefois beaucoup de ses meilleurs fonctions ne marchent qu'avec des langages autres que C++, hélas.

    *Y compris des fonctions qui ressemblent à des fonctions C standard sans en être, comme toutes les fonctions terminant par _s.

    **Une implémentation de .Net sous Linux, appelée "Mono", supporte les programmes en pure code .Net, mais pas les programmes mixant code .Net et C++ "normal".
    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 régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut
    je croyais qu'on utilisant visuel studio , ça va me facilité la tache genre il va rajouter les includes automatiquement , quand je creer une classe y'aura au moins la structure minimale , mais la j'ai que de classes vide exactement comme si j'utilise un simple éditeur

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Tu as tous ça en C# et en VB.Net, mais hélas pas en C++.
    Sous un Visual assez récent, tu as au moins de l'autocomplétion dans les includes, mais pas d'includes automatiques.

    Franchement, Visual C++ est probablement inférieur aux autres EDIs pour tout ce qui n'est pas le debugger. Visual C# est supérieur, mais comme son nom l'indique, ne fait pas de C++... C'est triste, Microsoft considère un peu le C++ comme un langage de seconde zone (et le C, c'est pire).
    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 régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par Médinoc Voir le message

    Franchement, Visual C++ est probablement inférieur aux autres EDIs pour tout ce qui n'est pas le debugger.
    avec son prix , j'aurais bien aimé rester sous netbeans avec java

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Résumé un IDE à la possibilité d'avoir des templates de classe, c'est très réducteur.

    En Java, il y a beaucoup de chose qui ne change jamais ou très peu comme les import des packages systèmes. Ceci est loin d'être un avantage, mais les IDE Java prennent la main pour que cela soit moins gênant.
    Mais en C++, on n'est pas obligé de faire ce travail sans aucune valeur ajoutée.
    En plus, si vous utilisez les pre-compiled headers, l'IDE fait aussi le travail.
    Clairement, C++ est le parent pauvre des outils de la famille Visual Studio.
    Mais le prix comprend bien plus qu'un simple compilateur et un éditeur de texte, mais tout un ensemble de Designer et autres outils de productivité, de qualité logiciel, de suivi qui explique son intérêt dans un milieu PROFESSIONNEL.

    Utilisez VS Ultimate juste pour le compilateur et l'éditeur de texte est un non sens.

    Ce que vous interprétez comme un défaut de l'IDE, c'est juste que le C++ n'a pas les mêmes défauts que le JAVA. C'est pour cela que vous aurez les mêmes "défauts" dans tout IDE dédié au C++.

  7. #7
    Membre régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par bacelar Voir le message
    c'est juste que le C++ n'a pas les mêmes défauts que le JAVA. C'est pour cela que vous aurez les mêmes "défauts" dans tout IDE dédié au C++.
    de quel défauts vous parlez ,rajouter #include <string> manuellement a chaque fois , vous considérer ça comme un avantage !!!!
    ou bien on doit apprendre tous les includes !!

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    "#include <string>" dans tout les fichiers cpp???

    Vous avez un très gros problème de conception, vous ne devriez avoir cela que dans les fichiers qui manipulent directement des chaines de caractères, ce qui est une partie minime d'un projet.

    En plus, c'est le genre de code circonscrit à la couche de présentation, qui fait très souvent partie d'un module spécifique, pour pouvoir en changer aisément.
    On peut facilement mettre l'ensemble des .h spécifique à un module dans un Stdafx.h du module, gagnant en vitesse de compilation, mais perdant en lisibilité des dépendances entre sources.

    Vous ne pouvez pas juger un IDE et sin adéquation avec un Langage sans connaître le langage et aussi les habitudes/normes de développements spécifique au langage ET aux outils intégrés dans ce langage.

    C'est la force des IDE, c'est de s'occuper des choses sans valeurs ajoutées.

  9. #9
    Membre régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut
    j'ai pas bien compris tout ce que vous avez dit , mais l'essentiel le faite de rajouter des includes manuellement a chaque fois c'est un vrai problème, pour include string , oui a chaque classe ou j'utilise chaine de caractére je suis obligé de le rajouter .

    tendis en java sous netbeans ça c'est geré automatiquement .

  10. #10
    Membre confirmé
    Profil pro
    Consultant en technologies
    Inscrit en
    Octobre 2013
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Octobre 2013
    Messages : 158
    Points : 555
    Points
    555
    Par défaut
    Tu peux pas comparer le C++ et le java,

    Le C++ c'est un petit-avion de voltige qui sent l'huile chaude, mais qui par contre est nerveux puissant, et demande un pilote à bord sinon c'est le crash

    Le Java c'est un airbus, parfois un peu lourd, mais difficile à cracher même par un pilote qui lit son journal.

    C'est vrai que le java avec un IDE est un vrai plaisir et que même un débutant va s'en sortir. Java est pensé pour que l'IDE puisse automatiser un maximum de chose.

    C++ est un language pré-IDE et c'est vrai qu'un éditeur de texte bien configuré fera aussi bien que visual-studio.

    Entre une développeuse qui fait des GUI Qt (C++ tendance java), et une autre qui fait du traitement du signal dans un système embarqué (C++ tendance C), les besoins sont à 1000 lieues

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Faut éviter les clichés _zzyx_, un programmeur doit pouvoir utiliser le langage le plus adapté au problème et un mauvais programmeur fera des bouses avec les 2 langages.

    Si vous avez besoin d'include string dans tous vos fichiers, c'est que vous avez un gros problème de conception.

    L'éditeur de Visual Studio à IntelliSense qui permet d'ajouter les using pour le code managé "automatiquement", en cas de besoin.

    Je le répète, les besoins sont pas les même en terme d'IDE, et JAVA en a plus besoin à cause de ces lourdeurs.

    Dans un projet "normal", l'include de string, c'est dans 1 à 2 fichiers, pour l'interaction avec l'utilisateur, c'est tout.

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Dans un projet "normal", l'include de string, c'est dans 1 à 2 fichiers, pour l'interaction avec l'utilisateur, c'est tout.
    Euh non, c'est dans le fichier d'en-tête de chaque classe qui mémorise une chaîne de caractères pour quelque raison que ce soit...
    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.

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    "User Input Is Evil", donc les chaines de caractères ne se baladent pas vraiment de classe en classe.
    Les ressources servent à stocker les chaines.
    L'utilisation de string est donc très restreint dans un code C++.

  14. #14
    Membre régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par bacelar Voir le message
    "User Input Is Evil"
    L'utilisation de string est donc très restreint dans un code C++.
    j'ai différentes classes ,chaque classe regroupe un certain nombre de fonctions

    et y'a au moins une fonction dans chaque classe qui utilise une chaine de caractère ,selon vous je dois regrouper mes fonction en deux catégories celles qui utilisent un string ou pas ?!

  15. #15
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Non, il faut séparer les classes en modules cohérents, et pas sur un détail technique.
    Si vous avez un module très lié à des manipulations de chaines, ajoutez l'include de string dans le pre-compiled header, Visual Studio ajoute automatiquement l'include correspondant (StdAfx.h) si le projet est configuré pour utiliser ce type de header.
    Si une classe et bien conçue elle doit dépendre d'un nombre limité d'autres classes, donc peu d'include. Et si elle se base sur un socle logiciel, un seul include d'un fichier d'en-tête correspondant à ce socle suffit (quite à que ce fichier d'en-tête inclus lui-même une palanqué d'include plus spécifique.

  16. #16
    Membre régulier
    Profil pro
    Doctorant
    Inscrit en
    Février 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 258
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Non, il faut séparer les classes en modules cohérents, et pas sur un détail technique.
    Si vous avez un module très lié à des manipulations de chaines, ajoutez l'include de string dans le pre-compiled header, Visual Studio ajoute automatiquement l'include correspondant (StdAfx.h) si le projet est configuré pour utiliser ce type de header.
    Si une classe et bien conçue elle doit dépendre d'un nombre limité d'autres classes, donc peut d'include. Et si elle se base sur un socle logiciel, un seul include d'un fichier d'en-tête correspondant à ce socle suffit (quite à que ce fichier d'en-tête inclus lui-même une palanqué d'include plus spécifique.
    merci pour votre éclaircissement , je vais chercher encore pour bien comprendre cette notion .

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/04/2010, 11h21
  2. [MSChart] creation de courbe sous visual C++
    Par gabriel knight dans le forum MFC
    Réponses: 5
    Dernier message: 18/09/2006, 14h32
  3. problème de compilation sous visual C++
    Par fabmili dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2004, 19h52
  4. Réponses: 3
    Dernier message: 28/01/2004, 10h46
  5. Deplacer un curseur dans un RichEdit sous visual c
    Par tweek dans le forum Windows
    Réponses: 7
    Dernier message: 14/01/2004, 00h29

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