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

Linux Discussion :

De Linux vers Windows


Sujet :

Linux

  1. #1
    Invité4
    Invité(e)
    Par défaut De Linux vers Windows
    Bonjour,

    je développe actuellement une application en C fonctionnant avec SDL et SDL_image.
    Je la compile actuellement avec gcc pour linux.
    Plus tard, cette application sera essentiellement pour les utilisateurs Windows.

    Est-ce que ce code sera compilable sans problèmes sous windows ensuite ?
    J'ai essayé avec mingw32 à travers wine, mais sans résultats.

    Quels problèmes surivendront en compilant pour windows (avec quel compilateur ? depuis linux ?) ?

    (la recherche ne m'a amené que des résultats trop spécifiques)

    Merci

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Bonjour,

    Tu vas avoir des soucis si le code que tu as écrit n'est pas portable (attention, il existe une différence entre "portable" et "qui suit la norme").

    La SDL doit exister aussi bien pour windows que pour Linux, donc a priori pas de soucis de ce côté là.

    En revanche, si tu as utilisé des fonctions particulières à Linux, alors tous ces appels de focntions devront être remplacés avant que tu puisses exécuter ton code sous Windows.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par gangsoleil
    Bonjour,

    Tu vas avoir des soucis si le code que tu as écrit n'est pas portable (attention, il existe une différence entre "portable" et "qui suit la norme").

    La SDL doit exister aussi bien pour windows que pour Linux, donc a priori pas de soucis de ce côté là.

    En revanche, si tu as utilisé des fonctions particulières à Linux, alors tous ces appels de focntions devront être remplacés avant que tu puisses exécuter ton code sous Windows.
    La fonction la plus connue qui pose problème est fork par exemple... Grande fonction sous Linux, mais pas sous windows.

    Est-ce que ce code sera compilable sans problèmes sous windows ensuite ?
    J'ai essayé avec mingw32 à travers wine, mais sans résultats.
    Est-ce que cela veut dire que ça a compilé ou non?

    Par exemple, je fais des applications SDL/Glut qui fonctionne très bien sous les deux OS. Et qui compilent/fonctionnent sans aucun problème.

    Par contre, dans l'autre sens, il y a plus de soucis. Le plus grand que je connaisse est la distinction de casse des fichiers sous linux et pas sous windows. Donc sous linux:

    et

    n'est pas pareil. Or sous windows, c'est la même chose. Donc si on ne fait pas attention, on peut passer un mauvais après-midi à corriger les majuscules des inclusions...

    Jc

  4. #4
    Invité4
    Invité(e)
    Par défaut
    Merci de vos réponses,
    je compte utiliser surtout les fonctions SDL,
    et avec, je tenterai de faire du C standard uniquement.
    Vu que je suis en plein apprentissage du C, je ne toucherai pas aux fonctions spécifiques à Linux.

    Citation Envoyé par Fearyourself
    Par contre, dans l'autre sens, il y a plus de soucis.
    pas bien compris

    Bon, pour compiler un .exe depuis linux, j'installe simplement dev-c à travers wine, j'installe le projet et c'est ok je pense, je vais essayer.

    La SDL existe sur les deux OS, donc c'est nickel, c'est pour cela que je l'ai choisie.

    Je pense que mon mauvais après-midi sera à transofrmer les /chemin/ en \chemin\

    Encore un truc : la fonction fopen() est spécifique à unix ? car je dois manipuler des fichiers.

    Bigre, comment calculer un hash md5 en c

  5. #5
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Eldacar
    transofrmer les /chemin/ en \chemin\
    Non, les


    Marche très bien sous windows, du moins avec mon compilateur...

    Jc

  6. #6
    Invité4
    Invité(e)
    Par défaut
    ok et par contre les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = IMG_Load(path);
    ou path vaut ressources/map/001.png
    ne doivent pas fonctionner sous windows

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Eldacar
    ok et par contre les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = IMG_Load(path);
    ou path vaut ressources/map/001.png
    ne doivent pas fonctionner sous windows
    Si
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Invité4
    Invité(e)
    Par défaut
    Citation Envoyé par CSoldier
    Citation Envoyé par Eldacar
    ok et par contre les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = IMG_Load(path);
    ou path vaut ressources/map/001.png
    ne doivent pas fonctionner sous windows
    Si
    Etrange, mais bref tant mieux.

    Je croche bien avec le C, mais j'ai une peine folle avec ces pointeurs et les
    char *item;
    et char item; (pour l'instant je fais au feeling, selon ce que le compilateur me dit)

    Tiens CSoldier, je vais me ballader un peu sur ton site, ça va sûrement m'aider pour mon apprentissage du C.
    juste une petite faute permis au langage d'évouler et surtout d'être standardisé. (évoluer)

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Eldacar
    Etrange, mais bref tant mieux.
    Peut-être pas si étrange que ca, la SDL doit gérer ca en interne, mais je crois même qu'en C standard ca fonctionne aussi !

    Citation Envoyé par Eldacar
    Je croche bien avec le C, mais j'ai une peine folle avec ces pointeurs et les
    char *item;
    et char item; (pour l'instant je fais au feeling, selon ce que le compilateur me dit)
    char * item = NULL; définit en fait pointeur sur une future chaine de caractères qu'on peut créer avec une allocation dynamique puis copie de caracteres.
    char item; déclare un emplacement pour stocker un seul caractère !

    Citation Envoyé par Eldacar
    Tiens CSoldier, je vais me ballader un peu sur ton site, ça va sûrement m'aider pour mon apprentissage du C.
    juste une petite faute permis au langage d'évouler et surtout d'être standardisé. (évoluer)
    Mon site n'est probablement pas le meilleur pour apprendre, je diffuse bien quelques codes source bien commenté et avec doc mais sans plus. Je te conseil le site d'Emmanuel Delahaye qui est plein de bons conseils !
    Et merci pour la faute, je vais corriger ca
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  10. #10
    Invité4
    Invité(e)
    Par défaut
    merci à toi, dernière question.

    Donc je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char *texte = 'foobar';
    si je fais j'affiche le contenu de la variable vers laquelle le pointeur pointe, et si je fais , ça ne fontionne pas ?

    Merci encore

  11. #11
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Eldacar
    Donc je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char *texte = 'foobar';
    Ce serais plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char *texte = "foobar";
    Citation Envoyé par Eldacar
    Heu fprint n'existe pas, si tu veut afficher directement sur la sortie standard:
    La fonction printf prend un pointeur sur une chaine donc tu passes ton argument de cette manière.
    Pour toutes les questions sur le C Standard, vaut mieux poser les questions sur le forum C
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  12. #12
    Invité4
    Invité(e)
    Par défaut
    ok, merci

Discussions similaires

  1. Cross Compilation Linux Vers Windows
    Par allergen dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 03/09/2007, 11h49
  2. Réponses: 3
    Dernier message: 07/06/2007, 10h49
  3. Sauvegarde automatique linux vers windows
    Par marrmarr dans le forum Réseau
    Réponses: 2
    Dernier message: 03/08/2006, 14h27
  4. Passage d'un code C++ Linux vers Windows
    Par GLDavid dans le forum C++
    Réponses: 10
    Dernier message: 22/05/2006, 17h43
  5. Migration workspace de linux vers windows
    Par cdtkoenig dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 22/05/2006, 17h42

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