ok, tu avais donc possibilite d implementer en c++
Sinon oui je suis tout d´accord avec toi, si tu cherches de la simplicite, tout faire automatiquement c´est nickel. Si tu cherches a faire propre, ++godrik et je m´explique un peu plus sur pourquoi je trouve qu un appel a une fonction est interessant:
en fait cet appel s´avere etre tres utile: par exemple, si l´utilisateur veut forcer la librairie a utiliser son gestionnaire de memoire (par exemple via un param a la fonction);
ou encore si il veut s´assurer d avoir un joli message d erreur si l´init de la lib plante (par exemple passage vista ou nouvel os, un driver utilise par la lib qui plante, etc). Pouvoir gerer les erreurs d´init est qqchose d´important, et laisser cette possibilite a l´utilisateur d´une lib est a mon avis extremement important. Juste avoir un init qui plante avant le main, pas pratique..
D´une facon plus metaphysique, mon opinion reste qu´une library doit faire qqchose quand on lui demande de le faire, et non pas rajouter des threads au demarrage, fragmenter ma memoire, ouvrir un handle sur un directory et le garder, etc. A l´eventuelle exception des lib de gestion de memoire (et encore)
Petite annedocte qui ressemble un peu a ce dont je parle: sur mon dernier projet, on devait utiliser <nom d´une technologie tres connue qui force a avoir le cd du jeu dans le lecteur pour pouvoir jouer>. C´est du code injecte dans l´exe deja pret, chgt d entry point, donc tout se passe meme avant l´init de la CRT. Sauf que.. 15% de plantages sur certaines configs, et beau crash windows. Sans le gestionaire d´erreur (exception handler etc) du main, pas de joli message box avec callstack. Vraiment pas amusant a debugger.
Mais bon la je diverge pas mal du sujet initial, qui semble resolu avec l´instance statique en cplouchplouch
/k