erreur de bibliotheque [C] - C - Programmation
Marsh Posté le 25-11-2004 à 18:33:04
J'essaie de me servir d'une des fonctions de la bibliotheque sk_buff, mais j'aimerais que tu m'explique ce qui est a ce point faux
Merci
Marsh Posté le 25-11-2004 à 21:55:30
1) Tu veux programmer avec une fonction linux mais tu n'as aucune idée de comment fonctionne un système d'exploitation digne de ce nom (plusieurs services accessibles sous forme de fonctions organisées en couche, certaines de ses couches (celles du noyau) sont inaccessibles au programmeur (pourquoi à ton avis?)).
2) C'est le noyau qui va permettre aux fonctions de la libC de s'executer, il ne se sert pas, lui, de la libC... (l'info c'est pas une histoire d'oeuf ou la poule)
3) Pour accèder au fonction et structures de données internes du noyau il faut s'y greffer -> faire un module
Citation : Je pense que c'est une erreur de bibliotheque mais je ne sais pas comment faire. |
Je passe sur le reste...
Plein de lecture http://www.linuxhq.com/lkprogram.html
http://www.xml.com/ldd/chapter/book/
Marsh Posté le 24-11-2004 à 10:18:53
Bonjour,
voici le programme que j'ai fait :
#include <linux/sk_buff.h>
int main()
{
printf("MAIN : IN \n" );
struct sk_buff *p=alloc_skb(2,2);
}
Je le compile (j'essaie) avec :
gcc -D__KERNEL -I/usr/src/linux-2.6.3/include essai2.c -o essai2
et j'obtiens :
undefined reference to alloc_skb
Je pense que c'est une erreur de bibliotheque mais je ne sais pas comment faire.
Merci, Aurelien