nelson.compiler.BuildOptions, nelson.compiler.BuildOptions
Configurer la construction d'une application native.
📝Syntaxe
options = nelson.compiler.BuildOptions(AppFile)
options = nelson.compiler.BuildOptions(AppFile, Name, Value, ...)
options = nelson.compiler.BuildOptions(AppFile, settings)
values = struct(options)
📥Arguments d'entrée
Paramètre Description
AppFile Fichier .m d'entree existant : vecteur ligne de caracteres ou string scalaire.
settings Structure scalaire contenant les noms et valeurs des options prises en charge.
📤Arguments de sortie
Paramètre Description
options Objet valeur scalaire avec proprietes modifiables et validees.
📄Description

Charger le module optionnel compiler, par exemple avec ncc('--help'). ncc('options', AppFile, ...) le charge et construit ce meme objet. Le constructeur valide les options sans produire d'executable.

Les noms complets sont insensibles a la casse. Les noms inconnus et le remplacement de AppFile dans settings sont rejetes. Les affectations ulterieures sont aussi validees. Les textes acceptent un vecteur ligne de caracteres ou un string scalaire ; les options logiques acceptent true, false, les nombres zero ou un, et les textes on ou off.

AppFile : script ou fonction d'entree existant. Les chemins relatifs sont ancres au dossier courant lors de leur affectation. Les motifs AdditionalFiles sont developpes lors de l'analyse ou de la construction, sans figer leur contenu au moment de la configuration.

ExecutableName : par defaut, nom du fichier d'entree sans extension. Il doit etre un identifiant. Les noms de peripheriques Windows sont rejetes sous Windows. Ne pas ajouter .exe.

ExecutableVersion : 1.0.0.0 par defaut. Un a quatre composants decimaux entre 0 et 65535 ; les composants finaux omis valent zero. Par exemple, 2.0 devient 2.0.0.0. Sous Windows, cette option renseigne les versions natives du fichier et du produit. Ailleurs, la valeur est validee sans ecriture de ressources Windows.

Le texte de version est limite a 23 caracteres, separateurs compris.

OutputDir : par defaut, ExecutableName suivi de standaloneApplication, relatif au dossier de construction de l'objet. Modifier ExecutableName ensuite ne modifie pas OutputDir. Un dossier existant peut etre utilise, mais l'executable et le dossier runtime cibles ne doivent pas deja exister.

AdditionalFiles : cellule vide par defaut. Fichier, dossier recursif, motif de fichiers, tableau de strings ou cellule de chemins textuels. Inclure ainsi les ressources et le code resolu dynamiquement que l'analyse statique ne peut pas deduire.

AutoDetectDataFiles : true par defaut. Inclut les references de donnees reconnues et resolues statiquement. False desactive cette detection, sans retirer les AdditionalFiles explicites.

CustomHelpTextFile : vide par defaut. Fichier texte existant optionnel, affiche par l'option --help de l'application deployee.

Mode : auto par defaut, cli ou gui. Selectionne les capacites du runtime ; gui inclut le support graphique. NoConsole : false par defaut ; true selectionne une application Windows sans console et est rejete sur les autres plateformes. Cette option est independante de Mode, n'active pas les graphiques et ne redirige pas la sortie vers un journal.

RuntimeMode : bundled par defaut, copie le runtime selectionne a cote de l'executable ; installed reutilise une installation compatible sans copier de runtime. Verbose : false par defaut ; affiche les details de construction.

Les options sont des objets valeur. Modifier une copie ne change pas l'original. struct(options) retourne toutes les proprietes. Pour reconstruire l'objet, passer values.AppFile en premier argument et retirer AppFile de la structure settings.

RuntimeLogFile : vide par defaut (desactive). Un nom non vide active un journal UTF-8 en ajout contenant l'initialisation du runtime, les sorties standard et d'erreur, sans supprimer l'affichage console. Les chemins relatifs sont resolus a cote de l'executable, pas dans le dossier appelant. Le dossier parent doit exister et etre accessible en ecriture ; les variables d'environnement ne sont pas developpees. Une erreur d'ouverture ou de fin d'ecriture renvoie le code 2, sauf si l'application a deja echoue. Les flux et processus concurrents peuvent entrelacer leurs blocs ; les lignes completes et l'ordre global ne sont pas garantis. La capture conserve les caracteres UTF-8 incomplets jusqu'a la lecture suivante avant de les ajouter. Une sortie mal formee ou tronquee est conservee en octets bruts. L'ajout partage sur un systeme de fichiers reseau depend de ce systeme. Les entrees-sorties du journal ne sont actives que sur demande ; sous Windows, le runtime doit proposer l'interface de capture.

ExecutableIcon est vide par defaut. Sous Windows, choisir une image existante pour remplacer l'icone native pendant la construction. Voir compiler.build.StandaloneApplicationOptions pour les formats, la transparence, les tailles et les limites de plateforme. La forme commande est --executable-icon image.

EmbedArchive vaut true par defaut. False correspond a -C ou --external-archive et produit un .nca adjacent a distribuer avec l'executable, dans les deux modes de runtime. Voir compiler.build.StandaloneApplicationOptions pour les controles d'integrite, le renommage et les limites.

TreatInputsAsNumeric (false par defaut) active une conversion unique des arguments de fonction par la builtin str2double. Les formes de commande sont -n et --numeric-inputs. Le texte invalide donne NaN, aucun argument n'est execute comme du code et argv('user') conserve le texte original. Voir compiler.build.StandaloneApplicationOptions pour les valeurs prises en charge et le runtime requis.

SupportPackages vaut {'autodetect'} par defaut. Utiliser 'none' ou les noms de paquets nmm enregistres pour filtrer les dependances a la construction. L'option de commande repetable est --support-package nom. Voir compiler.build.StandaloneApplicationOptions pour les exclusions, les conflits avec les fichiers explicites et les limites.

💡Exemples
Configurer sans construire
ncc('--help');
entry = fullfile(modulepath('compiler'), 'examples', 'standalone', 'app_entry.m');
options = nelson.compiler.BuildOptions(entry, 'RuntimeMode', 'installed');
options.ExecutableVersion = '2.0';
values = struct(options);
copy = nelson.compiler.BuildOptions(values.AppFile, rmfield(values, 'AppFile'));
🔗Voir aussi
nccnelson.compiler.buildnelson.compiler.analyzecompiler_standalone_tutorial
🕔Historique des versions
Version Description
Modifier cette page sur GitHub