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 sur Linux, même chose que windows?


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut C sur Linux, même chose que windows?
    Je commence à programmer en c et je veux le faire sur Linux. Je me demandais si vous connaissez un tutoriel pour linux.

    Un autre question, est-ce que le programme ci-dessous devrait fonctionner sur Linux ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
       main()
       /* Notre premier programme en C */
       {
          printf("hello, world\n");
          return 0;
       }

    Est-ce que vous connaissez un document qui explique la différence entre les deux? Entre le c pour windows et celui pour Linux.

    Merci

  2. #2
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Le C est portable, c'est-à-dire que les programmes écrits en C, s'ils respectent la norme, peuvent être compilés pour n'importe quel plateforme sans le moindre changement dans le code. Ce qui change de Windows à Linux par exemple, c'est la manière de compiler les programmes, pas les codes sources. Pour compiler un fichier hello.c par exemple sous Linux, il suffit juste de taper la commande gcc hello.c. Tu auras en sortie un fichier hello.out qui est l'exécutable. Il y a plein de tutoriels sur l'utilisation de gcc sous Linux sur le net.

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 397
    Points : 23 761
    Points
    23 761
    Par défaut
    Bonjour et bienvenue.

    Merci d'utiliser les balises [CODE] lorsque tu postes un extrait de code sur le forum.

    Tu as à ta disposition des tutoriaux et une F.A.Q., ainsi que d'autres ressources dans le bandeau d'accueil du forum en haut de la page.

    Le programme que tu présentes fonctionnera parfaitement sous Linux.

    Le C est le même partout, en principe. Mais, contrairement à d'autres langages, le C n'a pas un nombre fini d'instructions : chaque nouvelle fonction que tu définis peut forme en soi une nouvelle commande. Ainsi, tu utilises des « bibliothèques » de fonctions (library) qui te proposent des facilités toutes faites.

    L'une des caractéristiques d'un système d'exploitation est justement de fournir au programmeur un ensemble suffisant de ces bibliothèques pour que tu puisses faire quelque chose sans tout réinventer. C'est donc en grande partie le choix des outils que tu vas utiliser qui va rendre ton programme portable d'un système à l'autre ou non.

    Toutefois, la norme C spécifie un certain nombre de fonctions « standard » qui doivent être, en principe, disponibles avec chaque compilateur C. « printf » en fait partie.

  4. #4
    Membre expérimenté Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Points : 1 396
    Points
    1 396
    Par défaut
    Citation Envoyé par Melem Voir le message
    Pour compiler un fichier hello.c par exemple sous Linux, il suffit juste de taper la commande gcc hello.c. Tu auras en sortie un fichier hello.out qui est l'exécutable.
    Je suis sous ubuntu 9.10 et quand je fais gcc nomdefichier.c ca ne me donne pas un nomdefichier.out mais plutot un a.out. Sinon le C est portable mais je ne pense pas que un "getch()" ou toutes autres fonctions liées à la bibliothèque Windows marchent (logique vous me direz mais enfin ). Enfin quelques petits changement mineures mais rien de bien compliqué au final

    Voila tchao

  5. #5
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 450
    Points
    19 450
    Par défaut
    Bonsoir.

    Citation Envoyé par Melem Voir le message
    il suffit juste de taper la commande gcc hello.c. Tu auras en sortie un fichier hello.out qui est l'exécutable. Il y a plein de tutoriels sur l'utilisation de gcc sous Linux sur le net.
    Un fichier a.out plutôt, non ?
    Sinon : gcc nom_du_fichier.c -o nom_de_l_executable

    Sinon, eclipse, Code::Blocks et d'autres IDE spécifiques à Linux (Anjuta par exemple) sont disponnibles ...

    Citation Envoyé par Trademark Voir le message
    je ne pense pas que un "getch()" [...]
    Eh oui tout ce qui vient de windows.h, conio.h & co c'est pas disponible. De même, il existe des bibliothèques Unix qui ne sont pas portables.

    Pareil pour l'instruction system () qui exécute une commande de l'OS (les commandes ne sont pas les mêmes d'un OS à l'autre) ...

    Pour getch, tu peut te servir d'autres instructions d'entrées portables (getchar (), fgets (), etc) ...

    Pour finir, attention à la syntaxe de main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int main (void) /* void quand on n'utilise pas les paramètres de main */
    {
            /* instructions */
            return 0;
    }

  6. #6
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Citation Envoyé par ok.Idriss
    Un fichier a.out plutôt, non ?
    Euh ... oui, un truc de ce genre .

    Pour main, même les exemples de la norme ne mettent jamais void entre les parenthèses de main (sauf peut-être une ou deux fois et, là je spécule, probablement par inattention ). Préciser le type de retour (qui est int) par contre est fortement recommandé.

  7. #7
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 450
    Points
    19 450
    Par défaut
    Citation Envoyé par Melem Voir le message
    Pour main, même les exemples de la norme ne mettent jamais void entre les parenthèses de main (sauf peut-être une ou deux fois et, là je spécule, probablement par inattention ). Préciser le type de retour (qui est int) par contre est fortement recommandé.
    C'était surtout pour l'absence du type de retour que j'ai fait la remarque. Et comme j'ai pris l'habitude de mettre void entre parenthèses quand main ne prend pas de paramètres (le commentaire était à tire explicatif) ... je n'ai pas manqué à cette habitude en postant .

    De manière générale, mettre void entre parenthèses dans une fonction sans paramètres est plus rigoureux, notamment pour indiquer au compilo que la fonction ne prend pas de paramètres (il indiquera ainsi une erreur lorsque l'on fait un appel de cette fonction avec des paramètres). Dans le cas contraire, la fonction peut prendre une infinité de paramètres. Évidemment, ce n'est pas très grave parce qu'on va pas s'amuser à faire des appels avec des paramètres inutilement (pour le cas de main, c'est encore moins important puisque l'on ne retrouve pas d'appel de celle-ci dans le code, le void c'est plutôt par habitude cette fois) ...

    Sinon, c'est un peu (beaucoup) du chipotage mais on auras quand même un warning avec l'option -Wstrict-prototypes de gcc, si l'on ne met rien entre parenthèses (et on auras d'autres warning si on met les paramètres de main inutilement) .

    Cordialement,
    Idriss

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Melem Voir le message
    Le C est portable, c'est-à-dire que les programmes écrits en C, s'ils respectent la norme, peuvent être compilés pour n'importe quel plateforme sans le moindre changement dans le code. Ce qui change de Windows à Linux par exemple, c'est la manière de compiler les programmes, pas les codes sources. Pour compiler un fichier hello.c par exemple sous Linux, il suffit juste de taper la commande gcc hello.c. Tu auras en sortie un fichier hello.out qui est l'exécutable. Il y a plein de tutoriels sur l'utilisation de gcc sous Linux sur le net.
    Merci.

    Et pour ce qui est de faire des fenêtres, est-ce que c'est encore les mêmes normes? Parce que dans les tutoriels, je vois l'api de windows et GTK+ pour gnome.

  9. #9
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 450
    Points
    19 450
    Par défaut
    Citation Envoyé par Matthieu57b1 Voir le message
    Et pour ce qui est de faire des fenêtres, est-ce que c'est encore les mêmes normes? Parce que dans les tutoriels, je vois l'api de windows et GTK+ pour gnome.
    On ne parle pas de normes mais de bibliothèques graphiques (on sort du C standard). Tu as bien gtk (gtk+ étant l'équivalent Windows il me semble mais bon, c'est du détail) ... mais l'api win32 je ne pense pas .

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Bonjour et bienvenue.

    Merci d'utiliser les balises [CODE] lorsque tu postes un extrait de code sur le forum.

    Tu as à ta disposition des tutoriaux et une F.A.Q., ainsi que d'autres ressources dans le bandeau d'accueil du forum en haut de la page.

    Le programme que tu présentes fonctionnera parfaitement sous Linux.

    Le C est le même partout, en principe. Mais, contrairement à d'autres langages, le C n'a pas un nombre fini d'instructions : chaque nouvelle fonction que tu définis peut forme en soi une nouvelle commande. Ainsi, tu utilises des « bibliothèques » de fonctions (library) qui te proposent des facilités toutes faites.

    L'une des caractéristiques d'un système d'exploitation est justement de fournir au programmeur un ensemble suffisant de ces bibliothèques pour que tu puisses faire quelque chose sans tout réinventer. C'est donc en grande partie le choix des outils que tu vas utiliser qui va rendre ton programme portable d'un système à l'autre ou non.

    Toutefois, la norme C spécifie un certain nombre de fonctions « standard » qui doivent être, en principe, disponibles avec chaque compilateur C. « printf » en fait partie.
    Bonjours à tous, j'avais oublié.

    Oui, j'avais regarder la FAQ mais j'ai oublié pour le code, je vais faire attention la prochaine fois.

    Peut-être lire mon message précédent dans le fils.

    Auriez-vous un lien qui donne toute les fonction c, arguement ou commande possible avec une expliquation? Peut-être devhelp que je suis entrain de télécharger.

    Par ailleur, j'ai trouvé un livre de c pour Linux et il n'utilise pas printf. (je me souviens plus exactement, puts je crois, blanc de mémoire. Je vais revenir avec la fonction demain. )

    merci

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par ok.Idriss Voir le message
    On ne parle pas de normes mais de bibliothèques graphiques (on sort du C standard). Tu as bien gtk (gtk+ étant l'équivalent Windows il me semble mais bon, c'est du détail) ... mais l'api win32 je ne pense pas .

    Et est-ce que il y a un standart pour du graphique en C ?

  12. #12
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 450
    Points
    19 450
    Par défaut
    Citation Envoyé par Matthieu57b1 Voir le message
    Et est-ce que il y a un standart pour du graphique en C ?
    Euh non, je ne crois pas (j'en suis certain même ), il faut s'en tenir aux api externes comme gtk par exemple (qui fonctionne à la fois sous Windows et sous Linux).

    Citation Envoyé par Matthieu57b1 Voir le message
    Par ailleurs, j'ai trouvé un livre de c pour Linux et il n'utilise pas printf.
    Tu peut sans problème utiliser printf, stdio.h est bien entendue standard (il y a pas mal d'instructions d'entrées/sorties standard dans cette bibliothèque) .

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par ok.Idriss Voir le message
    Euh non, je ne crois pas (j'en suis certain même ), il faut s'en tenir aux api externes comme gtk par exemple (qui fonctionne à la fois sous Windows et sous Linux).
    Parfait, merci

  14. #14
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 397
    Points : 23 761
    Points
    23 761
    Par défaut
    Citation Envoyé par Matthieu57b1 Voir le message
    Auriez-vous un lien qui donne toute les fonction c, arguement ou commande possible avec une expliquation? Peut-être devhelp que je suis entrain de télécharger.
    Si tu développes sous Linux, et sous Unix en général, le point de départ incontournable est les « pages du manuel » ou « man pages ». Tu peux les avoir en ligne ici même, ou depuis la ligne de commande que tu utilises pour lancer gcc, par exemple. Tapes man 3 printf pour avoir le détail d'une fonction, d'une commande Shell ou autre. Il te faudra peut-être installer le bon package si ta distribution n'a pas été prévue à l'installation pour faire du développement.

    Tu peux jeter un œil à la norme C si tu veux voir ce qui est défini par le standard. La wikipage correspondante te donne également tous les headers spécifiés par le standard. Par exemple, printf() fait partie de stdio.h. Un man stdio te donnera la liste des autres fonctions contenues dans ce header.

    Tu peux ensuite voir les spécifications UNIX (pas faciles à trouver de prime abord) pour voir le minimum syndical qu'un système UNIX qui se respecte doit proposer. Enfin, jette ton autre œil vers [ame="http://fr.wikipedia.org/wiki/POSIX"]POSIX[/ame].

    Avec ça, tu as de quoi t'occuper un moment. :-)

    Par ailleur, j'ai trouvé un livre de c pour Linux et il n'utilise pas printf. (je me souviens plus exactement, puts je crois, blanc de mémoire. Je vais revenir avec la fonction demain.)
    Pourtant, printf() est probablement la fonction C standard la plus utilisée, et la première enseignée. Tu peux l'utiliser sans risque ! :-) puts() est pratique aussi car elle envoie la chaîne telle quelle sur la sortie standard sans traitement particulier, et lui ajoute automatiquement un retour à la ligne.

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    de plus, pour le graphique sur système Unix, la base est X11 (qui est équivalent à l'API Win32 sous Windows).

    Par dessus, tu as différentes couches (GTK, Qt, etc), qui fournissent des "widgets" et diverses fonctionalités plus élaborées que la base du graphique...

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Si tu développes sous Linux, et sous Unix en général, le point de départ incontournable est les « pages du manuel » ou « man pages ». Tu peux les avoir en ligne ici même, ou depuis la ligne de commande que tu utilises pour lancer gcc, par exemple. Tapes man 3 printf pour avoir le détail d'une fonction, d'une commande Shell ou autre. Il te faudra peut-être installer le bon package si ta distribution n'a pas été prévue à l'installation pour faire du développement.

    Tu peux jeter un œil à la norme C si tu veux voir ce qui est défini par le standard. La wikipage correspondante te donne également tous les headers spécifiés par le standard. Par exemple, printf() fait partie de stdio.h. Un man stdio te donnera la liste des autres fonctions contenues dans ce header.

    Tu peux ensuite voir les spécifications UNIX (pas faciles à trouver de prime abord) pour voir le minimum syndical qu'un système UNIX qui se respecte doit proposer. Enfin, jette ton autre œil vers POSIX.

    Avec ça, tu as de quoi t'occuper un moment. :-)



    Pourtant, printf() est probablement la fonction C standard la plus utilisée, et la première enseignée. Tu peux l'utiliser sans risque ! :-) puts() est pratique aussi car elle envoie la chaîne telle quelle sur la sortie standard sans traitement particulier, et lui ajoute automatiquement un retour à la ligne.

    Je savais pas que man avait aussi les fonction c. Je vais regarder cela tento.
    Merci pour reste.

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    de plus, pour le graphique sur système Unix, la base est X11 (qui est équivalent à l'API Win32 sous Windows).

    Par dessus, tu as différentes couches (GTK, Qt, etc), qui fournissent des "widgets" et diverses fonctionalités plus élaborées que la base du graphique...
    Avoir eu le temps, j'aurais bien lu sur le sujet : [ame]http://fr.wikipedia.org/wiki/X_Window_System[/ame]

    Si j'ai bien compris, c'est la base et il faut GTK ou autre pour faire du graphique en c.

    merci encore

  18. #18
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Non t'as pas bien compris. X est la base des interfaces graphiques dans les systèmes de type UNIX. Sous Linux, les bibliothèques telles que GTK+ utilisent X, mais toi aussi tu peux directement programmer X, sans passer par les bibliothèques comme GTK+. Voici un tutoriel sur la programmation de X : Etude et programmation du système X.

    Sous Windows, la base est l'API Win32. Sous Windows, les bibliothèques telles que GTK+ utilisent l'API Win32, mais toi aussi tu peux directement programmer Win32, sans passer par les bibliothèques comme GTK+. Voici un tutoriel sur la programmation de Win32 : http://melem.developpez.com/tutoriels/api-windows/.

    Comme tu peux le constater, GTK+ s'adapte au système. Sous Windows, elle va se servir des fonctions de Win32 et sous Linux, elle va se servir du serveur X. On dit alors qu'elle est multiplateforme, parce qu'elle peut être utiliser dans plus d'une plateforme. Pour GTK+, il n'y a pas que Windows et Linux qui sont supportés, ce n'étaient que des exemples.

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Ha bien, merci beaucoup. J'ai bien hate d'esseyer ces fonctions quand je vais arriver chez moi tento.


  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Melem Voir le message
    Non t'as pas bien compris. X est la base des interfaces graphiques dans les systèmes de type UNIX. Sous Linux, les bibliothèques telles que GTK+ utilisent X, mais toi aussi tu peux directement programmer X, sans passer par les bibliothèques comme GTK+. Voici un tutoriel sur la programmation de X : Etude et programmation du système X.

    Sous Windows, la base est l'API Win32. Sous Windows, les bibliothèques telles que GTK+ utilisent l'API Win32, mais toi aussi tu peux directement programmer Win32, sans passer par les bibliothèques comme GTK+. Voici un tutoriel sur la programmation de Win32 : http://melem.developpez.com/tutoriels/api-windows/.

    Comme tu peux le constater, GTK+ s'adapte au système. Sous Windows, elle va se servir des fonctions de Win32 et sous Linux, elle va se servir du serveur X. On dit alors qu'elle est multiplateforme, parce qu'elle peut être utiliser dans plus d'une plateforme. Pour GTK+, il n'y a pas que Windows et Linux qui sont supportés, ce n'étaient que des exemples.
    re,

    J'ai lu le document de xwindows mais ce n'est pas vraiment ce que vous dites. On parle d'un système client-serveur... ?

    Est-ce que vous pourriez me donner un exemple de code qui affiche une fenêtre vide sans rien dessu?

    Et auriez-vous la documention de ce système de graphique? Quelles sont les fonctions pour faire une fenêtre, des bouttons, des menus déroulant. Je fais tout dans un editeur de texte, je n'aime pas trop les IDE pour programmer. Avant, sur windows, j'utilisais les IDE et je ne comprenais plus rien au code-source.

    Merci

    En passant, fprint fonctionne sur mon Ubuntu maintenant.

Discussions similaires

  1. C sur mac, même chose que sur pc?
    Par Nitrox06 dans le forum Débuter
    Réponses: 4
    Dernier message: 09/05/2009, 16h06
  2. [footnote] Affichage du n° sur la même page que la note
    Par Panthère Bleue dans le forum Mise en forme
    Réponses: 3
    Dernier message: 19/06/2008, 15h28
  3. Peut on faire avec JDBC la même chose que PDO en PHP ?
    Par arnaudperfect dans le forum JDBC
    Réponses: 1
    Dernier message: 13/09/2007, 08h38
  4. MFC, son équivalent sur des plateformes autre que Windows
    Par uranium-design dans le forum Visual C++
    Réponses: 7
    Dernier message: 03/11/2006, 16h32
  5. Comment fermer l'application en même temps que Windows ?
    Par semaj_james dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2004, 22h17

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