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

Windows Discussion :

Conversion gcc vers visual C++


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Par défaut Conversion gcc vers visual C++
    Salut,

    Selon vous, quelle est la manière la plus simple de convertir un code gcc, en un code Visual C++ ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Par défaut
    Ta question est un peu vague

    Tu pourrais préciser si tu utilises des makefiles, des libs propres à gcc, ta version de visual studio ...


  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    et même parmi les libs standard de gcc... il y a pas mal de changement pour vc++ notamment dans la libc si tu y a recours parfois, où des méthodes disponibles sous environnement linux n'existent pas sous windows, car ces méthode existent dans l'API Windows.
    de même si tu utilise les sockets nativement, sans passer par une lib tierce, le passage à VC++ risque de nécessiter pas mal de modifications.
    Si tu a réécrit des classes à la sauce STL en mettant des templates partout, également il n'est pas sure que l'écriture que tu ai choisi fonctionne également sous VC++... trouver une écriture avec les templates qui compile et fonctionne à la fois sur les 2 compilateurs n'est pas toujours évident.

    précise un peu plus avant qu'on puisse t'aider car comme tu vois...

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Par défaut
    Non, je n'utilise pas de makesfiles dans ce projet.

    J'ignore si les librairies que j'utilise sont propres à gcc ;
    #include<stdio.h>
    #include<unistd.h>
    #include<stdlib.h>
    #include<sys/wait.h>
    #include<string.h>

    J'utilise Visual C++ 2010 Express

    Je ne pense pas avoir recours à la libc (vu les includes)

    J'ignore aussi si j'utilise les sockets nativement, sans passer par une lib tierce

    Je ne pense pas avoir réécrit des classes à la sauce STL en mettant des templates partout, car j'ignore ce qu'est STL. Et les templates, ce sont des patrons ?

    Enfin, comme vous le voyez, je débute pas mal .
    J'avais entendu dire que le C et le C++ était des langages portables, alors du coup, ça m'étonne de rencontrer tant de difficultés...

    C'est vrai que C et C++ sont des langages portables ?

  5. #5
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 527
    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 527
    Par défaut
    Salut en théorie le plus simple c'est de
    -créer un nouveau projet
    -rajouter aux projets tous les fichiers .c,.cpp.h
    Maintenant ce qui est le plus important c'est de savoir quel type de projet tu utilises si c'est un projet ligne de commande genre dos ou un projet avec une fenêtre genre Windows et des boutons.
    Tu risques d'avoir des problèmes à la compilation notamment pour certaines classes ou structures.
    Il faut regarder et trouver dans le MSDN les équivalents

    Citation Envoyé par réciproxy Voir le message
    J'ignore aussi si j'utilise les sockets nativement, sans passer par une lib tierce
    sous Windows on peut utiliser les sockets nativement il faut passer par Winsock mais les appels de fonctions sont strictement identiques ( recv(),connect() etc..

    http://msdn.microsoft.com/en-us/libr...16(VS.85).aspx

    Citation Envoyé par cinemania Voir le message
    Si tu a réécrit des classes à la sauce STL en mettant des templates partout, également il n'est pas sure que l'écriture que tu ai choisi fonctionne également sous VC++... trouver une écriture avec les templates qui compile et fonctionne à la fois sur les 2 compilateurs n'est pas toujours évident.
    la STL fonctionne parfaitement avec VC++.
    On peut même l'utiliser avec les MFC
    Et pareil pour boost...

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    les MFC... hum... vu le bordel je lui souhaite du courage

    Alors pour information ton projet utilise la libc... et c'est bien ca le problème.
    en dehors des mots clés qui varient entre g++ et vc++, la libc... change pas mal aussi...

    en effet, il n'y a quasiment aucune méthode "réentrante" dans la libc de windows/vc++, alors que yen a plein la libc de linux, résultat... les développeurs qui ont eu vent que c'était mieux d'utiliser les méthodes réentrantes, les utilisent et comme il est très dur dans ce pays de trouver des développeurs multiplateforme...

    Le problème, c'est que C++ c'est de loin le langage le plus complexe qui soit, et le plus subtile... si tu n'a aucune connaissance dans le domaine, porter un projet C++ linux vers Windows ca ressemble vaguement à mission impossible
    enfin bon je dit ca je dit rien... hein...

    mais moi je te conseillerais quand même déjà d'apprendre le langage avant, c'est la moindre des choses.

    Mat.M les appels sont les mêmes pour les winsocks à ceci prêt qu'il est souvent nécessaires de faire des réglages particuliers nécessitant un API non exposé par linux, si tu veux que certaines de ces méthodes "identiques" aient un fonctionnement identique...
    Si t'avais fait du développement avec les sockets entre les 3 versions de BSD, quelques distrib linux, et windows... tu saurais que si y a bien un domaine où tout ce qui est sensé être standard ne l'est pas... c'est bien ca.
    et oui BSD expose les memes fonctions de libc, et surprise... elles fonctionnent pas du tout pareil, ou carrément mieux, elles sont juste là pour faire beau... windows fait pareil dans son coin...

    alors le fin du fin pour son projet c'est si y a un include du genre #include <pthread.h> dans le projet... le portage de son projet est particulièrement compromis... cette lib n'existe pas dans windows, vu que c'est inclue nativement dans l'api windows, et que ca ne ressemble pas du tout et que la gestion est totalement différente...

    La STL c'est très bien si tu sais l'utiliser, et son projet ne l'utilise pas, il n'y a aucun include spécifique.

Discussions similaires

  1. Conversion MATLAB vers Visual C++
    Par dey84 dans le forum MATLAB
    Réponses: 4
    Dernier message: 23/12/2010, 22h21
  2. Traduction assembleur GCC vers Visual Studio 2008
    Par moldavi dans le forum x86 32-bits / 64-bits
    Réponses: 6
    Dernier message: 22/10/2009, 20h20
  3. Conversion Unix vers DOS...
    Par nicosfly dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2008, 17h53
  4. Conversion de C++ builder vers Visual C++/C# managé
    Par Gragra dans le forum EDI/Outils
    Réponses: 4
    Dernier message: 13/06/2008, 18h37
  5. ConversioN C++.net vers visual C++ mfc
    Par ricky78 dans le forum MFC
    Réponses: 5
    Dernier message: 13/06/2007, 17h03

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