# Liens dynamiques

Le module Liens dynamiques permet à Nelson de compiler, charger et appeler du code C/C++ et Fortran à l'exécution.

Il prend en charge la génération de gateways, de loaders et la gestion des bibliothèques partagées pour l'intégration de code compilé externe.

Par défaut, Nelson ne détecte pas automatiquement un compilateur C/C++ sous Windows. N'oubliez pas d'exécuter une foisconfiguremsvc ou configuremingw.

## Functions

* [Compilation C/C++ à la volée](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/1_c_cpp_build_on_fly) - Compiler du code C/C++ à la volée
* [Compilateurs C/C++ supportés](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/2_supported_compilers) -
* [Types libpointer](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/c_datatype) - Équivalences entre types C et Nelson
* [cmake](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/cmake) - Appeler l'outil CMake
* [configuremingw](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/configuremingw) - Configurer Nelson pour utiliser MinGW comme compilateur C par défaut
* [configuremsvc](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/configuremsvc) - Configurer Nelson pour utiliser Visual Studio comme compilateur par défaut
* [dlcall](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlcall) - Appel de fonction étrangère C ou Fortran
* [dlclose](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlclose) - Supprime l'objet dllib
* [dlgeneratecleaner](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlgeneratecleaner) - Génère le fichier cleaner.m pour une gateway C++
* [dlgenerategateway](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlgenerategateway) - Génère une gateway C++
* [dlgenerateloader](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlgenerateloader) - Génère le fichier loader.m pour une gateway C++
* [dlgeneratemake](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlgeneratemake) - Génère un makefile pour construire une bibliothèque dynamique
* [dlgenerateunloader](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlgenerateunloader) - Génère le fichier unloader.m pour une gateway C++
* [dlgetnelsonincludes](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlgetnelsonincludes) - Renvoie les chemins des répertoires d'includes de Nelson
* [dlgetnelsonlibraries](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlgetnelsonlibraries) - Renvoie les chemins vers les bibliothèques Nelson
* [dllib\_used](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dllib_used) - Renvoie la liste des handles dllib actuellement utilisés
* [dllibinfo](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dllibinfo) - Renvoie la liste des symboles disponibles dans une bibliothèque partagée
* [dllibisloaded](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dllibisloaded) - Vérifie si une bibliothèque partagée est chargée
* [dlmake](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlmake) - Appeler l'outil make ou nmake
* [dlopen](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlopen) - Charge une bibliothèque dynamique
* [dlsym](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlsym) - Charge un symbole C/Fortran depuis une bibliothèque dynamique
* [dlsym\_delete](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlsym_delete) - Supprime l'objet dlsym
* [dlsym\_used](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/dlsym_used) - Renvoie la liste des handles dlsym actuellement utilisés
* [findcmake](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/findcmake) - Trouver le chemin de CMake
* [getdynlibext](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/getdynlibext) - Renvoie l'extension des bibliothèques dynamiques
* [havecompiler](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/havecompiler) - Détecter si un compilateur C/C++ est configuré
* [libpointer](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/libpointer) - Crée un objet pointeur C utilisable dans Nelson
* [libpointer\_delete](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/libpointer_delete) - Supprime l'objet libpointer
* [libpointer\_isNull](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/libpointer_isnull) - Vérifie si un handle libpointer pointe vers NULL
* [libpointer\_plus](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/libpointer_plus) - Opérateur + sur un handle libpointer
* [libpointer\_reshape](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/libpointer_reshape) - Redimensionne les dimensions du libpointer
* [libpointer\_setdatatype](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/libpointer_setdatatype) - Définit le type d'un handle libpointer
* [libpointer\_used](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/libpointer_used) - Renvoie la liste des handles libpointer actuellement utilisés
* [loadcompilerconf](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/loadcompilerconf) - Charger la configuration du compilateur
* [removecompilerconf](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/removecompilerconf) - Supprime la configuration du compilateur utilisée (sous Windows)
* [vswhere](https://nelson-9.gitbook.io/Nelson/markdown/fr/dynamic_link/vswhere) - Localiser les installations de Visual Studio (2017, 2019 et versions ultérieures)
