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

Administration système Discussion :

Developpement C sur Debian : comment ça marche ?


Sujet :

Administration système

  1. #1
    Membre à l'essai
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Février 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 8
    Points : 11
    Points
    11
    Par défaut Developpement C sur Debian : comment ça marche ?
    Bonjour,

    Je débute le développement sur une debian 8, en C, sur Raspberry.

    Je connais le C, les outils de développement windows, web,.. Par contre sur Linux pas trop..

    J'ai compris que gcc était le compilateur C, et je peux compiler de petits programmes.

    Par contre, si j'essaie d'utiliser des librairies, je n'arrive pas à trouver un site, ou un livre qui m'explique le cheminement..

    J'ai des librairies suffixées de -dev que je dois utiliser pour mon programme, j' imagine que pour la distribution je dois prendre celle sans -dev..

    Auriez vous des suggestions de lecture sur ce sujet ? Comment les libs sont organisées, ou le compilateur trouve t'il les includes, etc...?

    Merci d'avance,
    Alain

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 352
    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 352
    Points : 42 823
    Points
    42 823
    Par défaut
    Pour utiliser une bibliothèque, tu incorpore les headers dans les sources, puis tu la linke avec ton exe, c'est le même principe sous Windows. Ces headers sont installés via des paquets finissant par dev.

    Exemple pour la bibliothèque ncurses, j'ai du installer le paquet libncurses5-dev.

    Ensuite pour compiler en likant la bibliothèque ncurses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc source.c -o destination -lncurses
    gcc a un nombre énorme d'option. En général on utilise un plutôt unMakefile.

    Tu peux utiliser CMake pour générer facilement des makefiles.
    http://alexandre-laurent.developpez....toriels/cmake/

    CMake marche aussi avec Windows.

    Il te faut ensuite un IDE. Tu as Eclipse qui est très complet mais peut être un peu lourd. Geany, très léger. Pour ne citer qu'eux.
    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

  3. #3
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Bonjour

    Library (anglais) = Bibliothèque (français)
    C'est un faux-ami.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Février 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Merci!

    Par exemple quand tu installes une lib, comment gcc sait il ou la trouver ainsi que son fichier include ?

  5. #5
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 352
    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 352
    Points : 42 823
    Points
    42 823
    Par défaut
    Il faut donner à gcc les bibilothèques à linker, (c'est plus facile avec un Makefile), il faut utiliser l'option -l comme dans mon exemple. le nom cité sera recherché dans le dossier par défaut des bibliothèques. Il est également possible de passer un chemin d'accès (peut être -L à la place de -l : à vérifier).

    Le fichier include est normalement placé avec les autres dans /usr/include (ça peut peut être changer selon les distributions), c'est la que le fichier sera recherché via :
    La syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "chemin/nom bibilothèque/h."
    permet de donner un chemin absolu.

    Mais ça, c'est le même principe avec Windows. Je sais que sous Windows, si l'appli ne trouve pas une de ses dlls, normalement dans c:\windows\system32, il la cherche dans le dossier de l'application. Sous linux, j'ai pas testé.
    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

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Points : 712
    Points
    712
    Par défaut
    J'ajoute à ceci qu'une librairie installée dans un paquetage debian pour le developpement sera du type libtoto-dev. La librairie "executable" sera en libtoto. Toutes les librairies installées directement par un paquetage seront dans les chemins des librairies par défaut.

    On peut voirles ajouts fait par l'utilisateur en tapant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $LD_LIBRARY_PATH
    Les chemins des librairies systèmes, installée par les paquetages, sont dans /etc/ld.conf et /etc/ld.conf.d/*

Discussions similaires

  1. Comment installer PostgreSQL sur debian 4 etch ?
    Par clavier12AZQSWX dans le forum Installation
    Réponses: 7
    Dernier message: 16/11/2014, 00h28
  2. VirtualHost marche pas sur Debian Etch 4.0
    Par dynexd dans le forum Apache
    Réponses: 2
    Dernier message: 05/10/2008, 23h57
  3. Réponses: 5
    Dernier message: 16/04/2008, 20h16
  4. Comment installer MySQL sur Debian
    Par zyongh dans le forum Debian
    Réponses: 5
    Dernier message: 13/04/2007, 12h10
  5. Comment installer le modem usb sagem fast sur debian ?
    Par caper dans le forum Matériel
    Réponses: 1
    Dernier message: 18/10/2005, 13h10

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