| ||||
Voilà un exemple simple mais ou il peut être très utile de savoir faire un chargement dynamique de librairie. Imaginez, vous faite un programme qui permet de générer une grande quantité de nombres (pour tracer des fonctions par exemple). Vous rentrez une fonction f(x) dans votre programme et vous pouvez générer 10 000, 100 000, voir 1 000 000 000 valeurs entre une borne minimale et une borne maximale de x. L'approche classique consiste à entrer l'expression de f(x) en texte et à la parser pour générer votre liste de nombres, mais si vous avez besoin de beaucoup de nombres et que vous ne pouvez pas entrer l'expression en C ou en C++ alors vous allez perdre du temps, soit en passant par un autre langage (bash, python, perl, ...), soit vous allez analyser l'expression à chaque valeur pour obtenir le résultat. Vous l'avez compris dans un cas vous perdez beaucoup de temps, et dans l'autre vous ne perdez encore plus. Vous l'avez compris, l'approche que je vous propose est de faire une fonction compilée dans une librairie à part (comme un plugin) et de l'appeler avec notre programme qui génère des nombres. Dans un second temps, l'utilisateur entrera directement l'expression dans le programme qui générera lui même la lib et la chargera juste après, ce qui fera gagner du temps quand il s'agira de générer beaucoup de nombres, et qui fera un exemple très intéressant. | ||||
|