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 :

Coder en C sur Linux, pourquoi faire?


Sujet :

Linux

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut Coder en C sur Linux, pourquoi faire?
    Bonjour,

    Je dois faire un projet pour l'école, en C donc, mais sous Linux. Mais pourquioi pas sous windows, le C sous Linux ferait-il des choses que l'on ne peut faire sous Windows?

    Mais surtout comment faire pour lancer Linux sans installer une session Linux au démarrage? Je suis un peu perdu, moi je ne veux vraiment pas installer Linux sur mon PC, surtout que j'ai lu qu'il fallait 7Go de libre pour l'installer, et moi je n'en ai que 3 de libre, donc voilà, surtout que je crois qu'il y a une autre manière de faire mais j'ai pas bien capté?

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Il y a des bibliothèques différentes pour beaucoup de choses entre Linux et Windows, parce que ces deux systèmes d'exploitation sont très différents et que le C utilise beaucoup les capacités du système.

    Le "C basique" sera identique mais tu auras ensuite beaucoup de différences dés que utiliseras des fichiers .h standards (quoi que, du coup...) sous Linux mais non existants (ou différents) sous Windows et l'API Windows sous Windows.

    Un gros intérêt de Linux est l'utilisation d'un terminal avec l'invocation du compilateur GCC manuellement et non via un IDE tel que CodeBlocks qui fait tout pour toi et te masque les subtilités de la production d'un exécutable à partir du code source. Cet intérêt est pédagogique, certes.

    Tu as plusieurs solutions pour Linux :
    • l'installer en parallèle de Windows, en "dual boot".
    • l'installer dans une machine virtuelle telle que Virtual Box. Tu auras une fenetre avec ton Linux.
    • Tu peux créer une clé USB avec Linux avec par exemple Linux Live Usb. Une clé de 4Go est suffisant pour installer Linux Mint 13, une distribution très en vue de Linux (je l'ai fait, ça marche).

    Les 2 premières solutions sont assez gourmandes. Ce n'est pas bien de n'avoir que 3Go disponibles sur ton disque dur de toute façon, d'après ce que j'ai entendu dans ma vie. 3Go peuvent néanmoins suffire pour la 2e, un peu limite pour la 1ere mais pas certain.

    La 2e est la plus appréciable, à mon goût.

    La 3e solution est aussi très pratique. Tu peux booter sur la clé USB sans installer Linux sur ton PC et même enregistrer des choses avec la persistance. Tu peux aussi lancer Linux depuis la clé dans une machine virtuelle avec Virtual Box justement, directement installé sur la clé. Enfin, tu pourras installer Linux sur un PC grâce à cette clé. C'est ainsi que j'ai installé le Linux depuis lequel je t'écris.

    A défaut de la seconde solution, je te conseillerais cette solution sur clé USB : http://www.linuxliveusb.com/fr

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Ah nickel merci. Réponse complète, j’apprécie, ça va m'aider.

  4. #4
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Tu peux aussi regarder du côté de Mingw qui est une librairie windows reprenant les librairies Linux.
    A priori tout programme qui compile avec cela pourra compiler par la suite sous Linux pour peu que tu n'utilises que la librairie GNU (et pas celle de windows).

    Pour faire simple tu peux installer Cygwin qui intègre un mini-environnement Linux (avec console et commandes) intégrant Mingw.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    De rien

    Ah oui, je n'avais pas pensé à Cygwin car je n'avais pensé qu'à du "vrai" Linux. Je ne suis pas sûr pour autant que le prof accepte cette solution car il souhaite peut-être aussi faire découvrir Linux à ses étudiants et utiliser des fonctionnalités du système. Je n'ai utilisé que très peu Cygwin mais je présume qu'il ne permet pas de tout faire, non ?

    MinGw est à ma connaissance une version pour Windows de la suite d'outils GNU, comme dit dans leur page :
    MinGW compilers provide access to the functionality of the Microsoft C runtime and some language-specific runtimes. MinGW, being Minimalist, does not, and never will, attempt to provide a POSIX runtime environment for POSIX application deployment on MS-Windows. If you want POSIX application deployment on this platform, please consider Cygwin instead.
    Ainsi, j'interprète plus MinGW comme une version pour Windows de GCC. Si ton programme compile aussi sous Linux, c'est surtout parce que tu n'utilises que des fonctions "vraiment" standards, je pense.

  6. #6
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Bah oui c'est ça, c'est un portage des librairies et outils GNU de développement sous windows.

    Si mes souvenirs sont bon Cygwin régénère tout de même un filesystem et pas mal de commandes, donc m'étonnerai qu'en étude on demande un développement tellement poussé qu'il ne puisse tourner dessus.
    En tout cas durant mes études il n'y avait guère que la programmation temps réel pour cible unix(ou autre) qui m'empêchait de tout faire sous windows.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  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 452
    Points
    19 452
    Par défaut
    Bonjour.

    Vu le peu de place libre, le dual boot tu peut oublier, sauf si tu investi dans un nouveau disque dur/nouvelle machine.

    La clef bootable, pourquoi pas (en t'assurant de sauver tes données à chaque boot, je ne sais pas si c'est automatiquement le cas, si oui tant mieux).

    Cygwin semble être un bon compromis vu le peu de taille (en temps normal* je t'aurais conseillé un dual boot ou une VM mais vu les circonstances ) : normalement il rend ton système conforme POSIX et compatible avec les IPC, les fork, les sockets Unix, etc.

    Mais même avec 3 GO de libre, tu va pas aller loin tout au long de tes études, entre cette matière et d'autres qui pourraient potentiellement te faire faire des projets avec des EDI assez lourd comme en Java par exemple avec NetBeans ou Eclipse, etc. Donc Cygwin est une solution temporaire pour cette matière mais c'est pas une solution durable à mon sens. Après tu gère ça comme tu veux

    Cordialement,
    Idriss

    * : car malgré tout si on souhaite faire de la prog système Unix, la meilleure solution c'est de passer sous un OS destiné à cet usage.

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Je viens d'installer Cygwin mais il n'y a qu'une invite de commande là... c'est normal? Parce que ça va pas le faire du tout là :p

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Sinon, sur 3Go, on pouvait installer un linux léger (j'en installe bien un sur 64Mo).
    Une autre alternative est d'utiliser un live CD et les trois go comme espace de données utilisateur (bon disons réservons 500 Mo pour une partie du système, genre les mise à jour + les trucs que l'on veut en plus). Mais bon, cela peut être lourd à bien gérer.
    Mais surtout, l'alternative que je suggère, c'est de réduire la partition Windows. Ou encore d'installer Wubi (le ubuntu pour Windows (je ne sais pas comment cela marche)). Ou simplement, de virer Windows
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  10. #10
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 431
    Points : 43 057
    Points
    43 057
    Par défaut C linux sur petite config + débordement ...
    Tu peux aussi utiliser un live-cd. Si tu connais pas, c'est un système complet qui tient et boote sur cd-rom. Attention l'usage intensif peut flinguer ton lecteur cd. Sinon le principe est applicable à 1 clé USB

    Après sur le principe, pour faire un "Hello Word" en C que tu le fasses sous linux ou windows peu importe mais effectivement pourquoi ne pas en profiter pour découvrir Linux.

    La bibliothèque C standard ( c'est le nom ) réagit de la même façon sous linux ou windows.

    Après tu as la norme POSIX, norme permettant par exemple d'ouvrir un fichier de la même façon sous n'importe quel système POSIX ( Linux, windows, autre )

    sous Linux la gestion des fenêtres est géré par exemple par X-Window. Si tu utilises les fonctions de la bibliothèque X-window, tu ne pourra pas utiliser ton programme sous Windows, les fenêtres windows étant gérés différemment. ( via les MFC je crois )

    Après tu as les bibliothèques de type qt, GTK. Là c'est intéressant pour avoir une version Linux, windows, MacOs. Il te faudra bien sûr compiler ton code sur chaque plateforme.

    Considères cela, sans aucune prétention de ma part, comme un cours zero.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  11. #11
    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 452
    Points
    19 452
    Par défaut
    Bonsoir.

    Citation Envoyé par Benduroy Voir le message
    Je viens d'installer Cygwin mais il n'y a qu'une invite de commande là... c'est normal? Parce que ça va pas le faire du tout là :p
    Ben tu t'installes gcc via le setup de Cygwin s'il n'est pas présent et éventuellement un éditeur comme vi et puis t'es opérationnel. Faut pas s'attendre à un OS complet

    A mon avis ils vont te faire faire des petits programmes avec des fork, des IPC (sémaphores, files de messages, mémoires partagées, etc), des sockets TCP/UDP, etc. Donc compiler en ligne de commande avec gcc devrait être suffisant

    Cordialement,
    Idriss

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Considères cela, sans aucune prétention de ma part, comme un cours zero.
    Non mais t'inquiète tu as bien fais

    Ben tu t'installes gcc via le setup de Cygwin s'il n'est pas présent et éventuellement un éditeur comme vi et puis t'es opérationnel
    J'ai pas tout capté mais je vais me renseigner. Parce que oui là le problème c'est que je ne sais pas où éditer mes fichiers...

    A mon avis ils vont te faire faire des petits programmes avec des fork
    C'est ça oui

  13. #13
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Si tu galères avec la ligne de commande tu vas sans aucun doute galérer avec Vi aussi.
    Mais saches que tes fichiers sont sur ton disque dur, accessible donc via ton explorateur windows et donc modifiable par tout éditeur texte installé sous windows.
    Donc en gros tu peux utiliser cygwin comme une simple console pour compiler tes programmes comme tu le ferrai avec la console windows si tu n'utilisais pas un IDE lié à un compilateur.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  14. #14
    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 452
    Points
    19 452
    Par défaut
    Bonjour.

    Voici un article d'initiation à la compilation en console avec gcc : http://blog.developpez.com/ineumann/...n_en_console_a

    Après comme dit transgohan, tu peux utiliser n'importe quel éditeur de texte Windows (Notepad++ par exemple est assez agréable à utiliser). Puis il suffit de retrouver ton ou tes fichiers .c dans le shell Cygwin et les compiler avec gcc

    Idriss

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Bon j'ai viré cygwin et fait de la place sur mon disque. Du coup maintenant j'envisage d'installer une machine virtuelle. Laquelle me conseillez vous donc?

  16. #16
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Pour moi, VirtualBox est très bien.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  17. #17
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Mais du coup attendez là, une fois que j'aurais la VirtualBox il me faudra bien autre chose. Qu'est ce que je dois télécharger de plus?

  18. #18
    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 452
    Points
    19 452
    Par défaut
    Salut.

    Citation Envoyé par Benduroy Voir le message
    Mais du coup attendez là, une fois que j'aurais la VirtualBox il me faudra bien autre chose. Qu'est ce que je dois télécharger de plus?
    Il faut peut être faire une recherche pour savoir un minimum ce que tu devra faire avec VBox. Il faut te télécharger un fichier .ISO et l'installer (créer une VM, désigner l'ISO, l'installer sur un disque virtuel depuis VBox, etc). Bref, une recherche t'en diras plus

    VMWare player est peut être un peu plus simple à utiliser (bien que je préfère VBox) puisque des images compressées sont déjà dispo en .zip prêtes à l’emploi (je ne sais pas si c'est le cas avec VBox).

    Cordialement,
    Idriss

  19. #19
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    Points : 73
    Points
    73
    Par défaut
    Bien j'ai réussi à lancer Ubuntu 12.10 via VirtualBox d'Oracle.

    Puis je utiliser un compilateur C directement depuis Ubuntu, je veux dire en version interface homme/machine, ou je vais devoir de toute façon passer par une invite de commande?

    EDIT: en fait non je cliques sur try ubuntu, et ça bug. Le programme est obligé de se fermer :/

  20. #20
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Tu peux installer Eclipse, CodeBlock ou autre qui sont des IDE te rendant transparent l'aspect console de commande.
    Mais je te recommanderai tout de même de jeter un oeil à comment compiler sous console, c'est pas sorcier d'utiliser GCC ettu te retrouveras un peu moins c** quand après tes études tu seras sous un environnement linux sans IDE. (pas toujours le cas mais mieux vaut savoir que devoir se former à la va-vite...)

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/04/2011, 16h31
  2. Eclipse sur Windows et dev local sur Linux : comment faire ?
    Par fredouille31 dans le forum Eclipse PHP
    Réponses: 2
    Dernier message: 17/01/2011, 10h26
  3. Comment faire marcher netbeans 6.8 sur linux
    Par Calbane dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 29/03/2010, 16h33
  4. Réponses: 7
    Dernier message: 18/01/2010, 11h44
  5. Pourquoi mon code ne fonctionne pas sur Linux
    Par Amaury_35 dans le forum Langage
    Réponses: 2
    Dernier message: 24/08/2009, 09h58

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