Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/09/2013, à 17:27

G.I.Bdeking

Les modules linux

Je me posait quelques petites questions concernant les modules linux, car j'en code un et mes doutes me brûlent:
        -- Peut-on utiliser toutes les fonctionnalités du C?
        -- Utiliser des librairies?


"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."

Hors ligne

#2 Le 24/09/2013, à 17:48

grim7reaper

Re : Les modules linux

G.I.Bdeking a écrit :

Je me posait quelques petites questions concernant les modules linux, car j'en code un et mes doutes me brûlent:
        -- Peut-on utiliser toutes les fonctionnalités du C?
        -- Utiliser des librairies?

Je suppose que tu parles de modules kernel.
Non, pour les deux.

Le C en espace noyau c’est du C freestanding, par opposition au C que l’on fait sur Linux ou Windows (par exemple) appelé C hosted car on a un système d’exploitation en dessous.
Donc quand tu codes en C dans le kernel tu n’as pas de libc (la libc se base sur le noyau, donc le noyau ne peut pas se baser sur la libc big_smile). Donc tu oublies les printf, les malloc & cie.
Et tu dis bonjour aux fonctions du kernel (printk, kmalloc, …).
De même, il vaut mieux éviter les nombres à virgule flottante.
Le C dans le kernel c’est un C avec une mentalité et des contraintes différentes du C habituel.

Dernière modification par grim7reaper (Le 24/09/2013, à 17:51)

Hors ligne