Envoyé par
Obsidian
J'entends par là que ce sont deux choses distinctes. L'exploitation de la bibliothèque standard te garantit que — en principe — ton programme sera universellement portable. Tout compilateur C qui se respecte doit implémenter ces fonctions de la manière décrite par la norme, sans prendre de largesses, sauf si la norme reste muette sur certains détails ou accorde explicitement une liberté.
De l'autre côté, la programmation système relève de l'exploitation dudit système. Ça veut dire que tout ce que tu vas écrire dans ce contexte va être dépendant de l'O.S. que tu utilises. Par exemple, fopen() et fclose() sont des fonctions C et tu peux les utiliser partout. Par contre, open() et close() sont des fonctions UNIX et POSIX. Tu ne peux les utiliser que sur les systèmes qui reconnaissent cette dernière norme. Tu n'es pas sûr de les retrouver dans tous les contextes et, si elles existent, tu ne peux pas garantir non plus que ce ne sont pas des homonymes qui n'ont rien à voir avec celles que tu crois utiliser.