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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 273
    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
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    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 éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

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

  4. #4
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    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 149
    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.

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    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
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    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 149
    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.

  7. #7
    Membre émérite
    Avatar de Kirilenko
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 234
    Par défaut
    Bonsoir,

    Bien qu'arrivant après la bataille, je me permets de répondre à la question théorique de départ.

    Citation Envoyé par Benduroy Voir le message
    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 ?
    D'emblée, on a envie de répondre : c'est la tradition. Si je te dis « langage de programmation » et « GNU/Linux », on me répond « C » ; si je te dis « langage de programmation » et « Windows », on me répond « C# », « .NET », etc. GNU/Linux a toujours revendiqué (enfin, « Linus a toujours revendiqué ») l'utilisation du langage C dans les grandes œuvres du bas niveau. Or, la programmation système est le grand domaine d'utilisation du langage C. Quoi de mieux que d'utiliser un système d'exploitation de cette tradition pour cela ?

    Sinon, comme les autres ont répondu, les émulateurs comme Cygwin permettent de simuler un package POSIX. Utile pour s'initier à la programmation système.
    Récursivité en C : épidémie ou hérésie ?

    "Pour être un saint dans l'Église de l'Emacs, il faut vivre une vie pure. Il faut se passer de tout logiciel propriétaire. Heureusement, être célibataire n'est pas obligé. C'est donc bien mieux que les autres églises" - Richard Stallman

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