Concernant la disponibilité des bibliothèques externes, je ne suis pas d'accord. la glibc par exemple fournit énormément de fonctions en plus de ce que propose la libc-tout-court. GTK est portée à peu près partout. Après tu peux me dire que ces bibliothèques ne sont pas d'assez bonne qualité pour toi (rapport empreinte mémoire/performance, par exemple), mais c'est un autre débat. Idem pour SDL.
J'ai expliqué ce qu'est la portabilité dans un message plus haut. Le C n'est pas portable au sens ou la majorité des gens l'entend, c'est-à-dire qu'il tourne sur la majorité des combinaison d'OS et de hardware que l'on trouve chez la plupart des gens ou même dans sur des serveur de calcul, mais du code en C pure pourra aussi compiler pour à peu près toutes les architectures et OS existants.
Un compilateur C est en général une des premières choses portée sur un nouvell OS ou un nouvelle architecture.
Dans ce contexte, la GLibc est déjà moins portable tout comme GTK ou la SDL. Ces lib sont faites pour être bien plus haut niveau que ce que l'on attendrait d'un bon runtime en C qui reste portable.
Ma vision des couches de bibliothèques idéale du C serait plus la suivante. Une stdlib très basique qui ne contient que ce qui concerne la communication basique avec le système. Ensuite une bibliothèque qui n'utilise que le langage et la stdlib et qui fournit une couche plus haut niveau prenant en charge notament la gestion des chaines de caractères ou les entrées/sorties formatées.
Et au dessus de ça, des bibliothèques plus complexes qui font intervenir d'autres éléments du système non portables.
[^] # Re: Humm...
Posté par beagf . En réponse à la dépêche Sortie de la version 2.11 de la bibliothèque standard C GNU (glibc). Évalué à 2.
J'ai expliqué ce qu'est la portabilité dans un message plus haut. Le C n'est pas portable au sens ou la majorité des gens l'entend, c'est-à-dire qu'il tourne sur la majorité des combinaison d'OS et de hardware que l'on trouve chez la plupart des gens ou même dans sur des serveur de calcul, mais du code en C pure pourra aussi compiler pour à peu près toutes les architectures et OS existants.
Un compilateur C est en général une des premières choses portée sur un nouvell OS ou un nouvelle architecture.
Dans ce contexte, la GLibc est déjà moins portable tout comme GTK ou la SDL. Ces lib sont faites pour être bien plus haut niveau que ce que l'on attendrait d'un bon runtime en C qui reste portable.
Ma vision des couches de bibliothèques idéale du C serait plus la suivante. Une stdlib très basique qui ne contient que ce qui concerne la communication basique avec le système. Ensuite une bibliothèque qui n'utilise que le langage et la stdlib et qui fournit une couche plus haut niveau prenant en charge notament la gestion des chaines de caractères ou les entrées/sorties formatées.
Et au dessus de ça, des bibliothèques plus complexes qui font intervenir d'autres éléments du système non portables.