Il n'y a rien que tu ne puisse faire en C étant donné qu'il s'agit justement d'un langage très proche de la machine. Tu peux recoder toute la bibliothèque standard (ou n'importe quelle autre) en partant de zéro si tu veux. Mais du moment que tu utilises une spécificité d'un système particulier, tu sors du cadre de la portabilité. Or de nombreuses opérations (comme les entrées/sorties par exemple) sont dépendantes du système. Pour faire des entrées/sorties en langage C, il faut à priori passer par les fonctinnalités de bas niveau de son système. La librairie standard fournit une interface portable de routines écrites en langage C mais dont l'implémentation peut évidemment dépendre du système. En mode réel 16 bits (x86) par exemple tu peux les interruptions du DOS (si t'es sous DOS) ou du BIOS (indépendant de l'OS), mais évidement ta fonction ne marchera que sur PC. Tout ce que t'as à faire donc c'est de coder une série d'intructions machines qui fait ce que tu souhaites et de pointer ces instructions à l'aide d'un pointeur de fonction, puis appeler cette fonction. Ca fait entrer en jeu pas mal de connaissances, je suppose que sais écrire des instructions en langage machine et que tu connais la convention d'appel du C.
Partager