Alors il y a plusieurs raisons :
- les .o/.a prennent effectivement bcp trop de place pour être utilisés on-calc (le .a de tigcc prend 4x plus de place que converti en mon format, alors que c'est même pas un format compressé

)
- pour éviter de devoir reparser l'intégralité des headers à chaque fois, chaque définition de symbole est mise dans sa propre section (i.e. quand on utilise fopen(), seule la ligne définissant fopen() est parsée, puis comme FILE apparaît dedans, la définition de FILE est parsée, etc... et ensuite le code objet pour fopen est inclus)
- accessoirement, ça permet aussi d'extraire une mini-lib d'une grosse lib : il suffit de fournir des définitions uniquement pour les fonctions qu'on veut utiliser, et seules les sections de fichiers objets concernées par ces fonctions seront incluses
Pour ce qui est du convertisseur, il est inclus dans la distrib source, mais :
- le format va "bientôt" changer pour être plus efficace en taille, donc distribuer un PCH (pre-compiled header) n'est pas une très bonne idée pour l'instant parce que je virerai sans doute le support pour l'ancien format (par contre c'est possible de m'envoyer les sources du header avant compilation pour qu'il soit inclus dans la distrib de GTC et donc toujours à jour

)
- le convertisseur est vraiment pas très user-friendly pour l'instant (mais c'est en partie volontaire, à cause du premier point

)