Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1245 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Ne comprend pas la compilation avec gcc et les bibliothèques

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ne comprend pas la compilation avec gcc et les bibliothèques

n°2107651
hppp
Serveur@home
Posté le 22-10-2011 à 19:14:42  profilanswer
 

Salut,  
 
Je voudrais compiler un programme avec gcc sous debian et pour ça j'ai suivie ce tuto : http://www.linux-pour-lesnuls.com/compilergcc.php
 
J'ai comme fichier  
le main :  
- temp.c
avec :
#include <stdlib.h>
#include <stdio.h>
#include "ownet.h"
#include "temp10.h"
#include "findtype.h"
 
les bibliothèques :
- crcutil.c
- findtype.c
- findtype.h
- ioutil.c
- ownet.h
 
Je ne comprends pas quel ligne de commande je dois taper pour compiler tout ça, je comprends pas non plus la différence entre les bibliothèques statiques et dynamiques.
 
Merci de votre aide.

mood
Publicité
Posté le 22-10-2011 à 19:14:42  profilanswer
 

n°2107697
Anonymouse
Posté le 23-10-2011 à 12:38:52  profilanswer
 

gcc -Wall temp.c crcutil.c findtype.c ioutil.c -o moBinaire

n°2107710
xilebo
noone
Posté le 23-10-2011 à 15:09:32  profilanswer
 

Une bibliothèque statique est une bibliothèque dont le code est directement intégré dans l'exécutable au moment de l'édition des liens ( .a sous linux, .lib sous windows ).
 
Une bibliothèque dynamique est une bibliothèque dont le code sera chargé dynamiquement lorsque l'exécutable en aura besoin ( .so sous linux, .dll sous windows). Avantage:  si plusieurs exécutables ont besoin de cette bibliothèque, elle ne sera chargée qu'une fois en mémoire. L'inconvénient est quand on utilise des versions différentes d'une même bibliothèque dans plusieurs programmes.
 
la bibliothèque dynamique peut être chargée de 2 façons :
    - soit dès que l'exécutable se lance. Ce qui signifie que si la bibliothèque n'est pas présente, l'exécutable ne peut pas se lancer car la bibliothèque manque ( ldd sous linux, process explorer ou autre sous windows pour voir les liens dynamiques) .
    - soit à la demande en utilisant des fonctions de chargement dynamique : dlopen / dlclose /dlsym sous linux, LoadLibrary / FreeLibrary / GetProcAddress sous windows. Dans ce cas, la non-présence de la bibliothèque peut ne pas empêcher l'exécutable de se lancer. Ex : vlc charge de cette façon la les plugins, il serait trop lourd d'installer systématiquement toutes les dépendances de vlc ( il y en a des centaines ) sur une machine surtout si on n'en a jamais besoin. VLC sait détecter la présence et utiliser en cas de besoin.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Ne comprend pas la compilation avec gcc et les bibliothèques

 

Sujets relatifs
Erreur de compilation sur default argumentCompilation fortran sous cygwin : .exe demande UAC
Aide pour compilation Webpart Sharepoint 2010erreur execution, compilation
Mettre une icone pour la compilation du fichier exeErreur de compilation, Projet ou bibliothèque introuvables
Compilation ADA+OpenGl avec GNAT GPSProblème de compilation
Compilation Java sous Unix[Résolu] Compilation d'un batch
Plus de sujets relatifs à : Ne comprend pas la compilation avec gcc et les bibliothèques


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR