|
1.11.11 MathLink
La section précédente a expliqué en détail comment échanger du texte simple avec des programmes externes. Dans de nombreux cas, vous désirerez communiquer à un niveau plus élevé avec des programmes externes, et échanger des données plus structurées avec ces derniers.
Sur presque tous les systèmes informatiques, Mathematica admet le standard de communication MathLink, qui établit des communications de haut niveau entre Mathematica et des programmes externes. Afin d'utiliser MathLink, un programme externe doit comporter un peu de code source particulier, généralement fourni avec votre exemplaire de Mathematica.
MathLink permet aux programmes externes d'appeler Mathematica et d'être appelés par Mathematica. La section 2.12 donne quelques détails sur le standard de communication MathLink. L'utilisation de MathLink vous permet par exemple de traiter Mathematica comme une sous-routine incluse dans un programme externe. Ou vous pouvez créer une interface frontale qui met en oeuvre votre propre interface utilisateur et communique avec le noyau de Mathematica via MathLink.
Vous pouvez également utiliser MathLink pour que Mathematica appelle des fonctions individuelles au sein d'un programme externe. Comme expliqué à la section 2.12, vous pouvez définir un fichier modèle MathLink pour spécifier de quelle manière certaines fonctions particulières de Mathematica appellent des fonctions de votre programme externe. Vous pouvez produire le code source à inclure dans votre programme à partir du fichier modèle MathLink. Par conséquent, lors de l'exécution de votre programme, les définitions Mathematica appropriées sont automatiquement installées et lorsque vous appelez une fonction Mathematica particulière, du code s'exécute dans votre programme externe.
Appel de fonctions internes dans des programmes externes.
Ceci lance l'exécution du programme externe simul, et installe les définitions Mathematica permettant d'appeler les différentes fonctions qu'il comporte.
In[1]:= Install["simul"]
Out[1]=LinkObject[simul, 5, 4]
Ci-dessous, un message d'utilisation associé à une fonction installée dans Mathematica pour appeler une fonction du programme externe.
In[2]:= ?srun
srun[{a, r, gamma}, x] effectue une simulation avec les
paramètres spécifiés.
Lorsque vous appelez cette fonction, elle exécute du code dans le programme externe.
In[3]:= srun[{3, 0, 7}, 5]
Out[3]=6.78124
Ceci termine l'exécution du programme simul.
In[4]:= Uninstall["simul"]
Out[4]=simul
|