Bon après quelques tests et quelques question par ci par là, je ne suis toujours pas convaincu, après cette discussion, que la libc soit nécessaire au bon fonctionnement du système, par contre ce qui est sûr c'est que msvcrt.dll oui. Question noyau il est sûr qu'il ne l'utilise pas. Tout comme sous UNIX. Cependant, là j'ai par exemple un cmd.exe et powershell.exe sous les yeux, et j'ai beau faire pas mal d'opération depuis mais sous process explorer il ne me montre pas de chargement des fonctions de la libc dans msvcrt.dll. ( Powershell ne l'a même pas chargé. Ce qui est impossible sur Linux)Et cmd.exe exporte aussi des fonctions de OLE mais ce n'est pas pour cela que sans cette DLL çà crash (je viens de tester).
Donc bon!! Comme vienne de me le dire quelques connaissances plus rôdées que moi sur le sujet, le vrai problème, c'est que faire une panoplie de tests fiables prendraient trop de temps mais que la légende veut que le système se porte très bien sans libc (à voir). Il peut très bien être utilisé dans un petit module qu'on utilise jamais ou alors dans toute la source. Je ferai mon petit tour sur kd/NTSD quand j'aurai le temps car pour l'instant lorsque que je supprime msvcrt.dll sur mon XP pro (c'est une VM hein j'suis pas dingue!), il réapparait tout de suite. Je leur redemenderai si on peut passer à travers çà. On ne peut pas dire que msvcrt.dll, par contre l'inverse peut se dire. Pour l'instant, par exemple, j'ai msvcrt qui est chargé par explorer, mais qui dans la dll serait sur la fonction ... endrthreadex!! (D'ailleurs je pensais qu'elle était exporté par une dll du système celle là!)
Donc je continuerai mes test et vous tiendrai au courrant mais apparemment la libc elle même ne serait pas nécessaire! Par contre msvcrt.dll oui (ce qui confirme aussi pas mal de chose que j'ai pu lire ici et là!) et la libc, du moins dans les NT un peu récents, donc avec un msvcrt un peu récent, est de fait donc dispo à l'install du système.
Cordialement.
Partager