options = compiler.build.StandaloneApplicationOptions(AppFile)
options = compiler.build.StandaloneApplicationOptions(AppFile, Name, Value, ...)
values = struct(options)
Charger le module optionnel compiler avant de construire cet objet valeur. Les deux fonctions de construction autonome acceptent les memes options. Modifier ensuite l'objet appelant ne change pas les options enregistrees dans un resultat termine.
AppFile : fichier d'entree .m existant, obligatoire en premier argument du constructeur. Les autres formats d'entree ne sont pas pris en charge. ExecutableName reprend le nom de l'entree et doit etre un identifiant ; les noms de peripheriques reserves sous Windows sont refuses.
OutputDir : dossier de destination, par defaut ExecutableName suivi de standaloneApplication dans le dossier courant. Les chemins sont ancres lors de l'affectation. Les fichiers sans rapport sont conserves. Une construction precedente verifiee du meme nom d'executable et de la meme architecture peut etre remplacee ; les sorties modifiees et collisions non enregistrees sont refusees. Voir compiler.build.standaloneApplication pour les regles de publication et de recuperation.
AdditionalFiles : vecteur de caracteres, chaine scalaire, vecteur de cellules ou de chaines de fichiers, dossiers ou motifs. AutoDetectDataFiles (true par defaut) controle les ressources automatiques, notamment NH5/MAT. Les inclusions explicites sont conservees meme lorsque la detection automatique est false.
CustomHelpTextFile : fichier texte UTF-8 existant dont le contenu devient l'aide de l'application ; vide par defaut.
ExecutableVersion : un a quatre composants decimaux de 0 a 65535, 23 caracteres au maximum ; defaut 1.0.0.0. Ecrit les ressources Windows de version du fichier et du produit. Sur les autres plateformes, la valeur est validee sans modifier les octets de l'executable.
Verbose : false par defaut ; true affiche l'executable cree et le nombre de modules runtime. Les booleens acceptent les valeurs logiques, les nombres zero/un et les chaines on/off.
Le constructeur utilise des paires nom-valeur dont les noms complets ne sont pas sensibles a la casse. Les proprietes valident les affectations. Une structure de parametres et une seconde affectation de AppFile ne sont pas acceptees. struct(options) renvoie une copie des proprietes publiques.
Les proprietes actuelles sont AppFile, AdditionalFiles, AutoDetectDataFiles, CustomHelpTextFile, EmbedArchive, ExecutableName, ExecutableIcon, ExecutableVersion, OutputDir, RuntimeLogFile, SupportPackages, TreatInputsAsNumeric et Verbose. Les effets suivants restent a implementer : ExternalEncryptionKey, ObfuscateArchive et SecretsManifest. Ils ne sont ni acceptes ni ignores silencieusement.
La distribution du runtime et le style de lancement ne sont pas des proprietes ici. La fonction choisit la console ou son absence et utilise toujours un runtime installe. Les BuildOptions de ncc restent disponibles pour Mode, NoConsole et RuntimeMode.
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 : fichier JPG, JPEG, PNG, BMP ou GIF existant, absolu ou relatif au repertoire courant lors de l'affectation de l'option. Vide par defaut, pour conserver l'icone du lanceur. Une valeur non vide exige Windows dans cette implementation. Les services graphics_io et image_processing existants servent uniquement pendant la construction. La premiere image est centree sans deformation, avec marges transparentes, puis embarquee aux tailles 16, 24, 32, 48, 64, 128 et 256 pixels. La transparence est conservee ; la source est limitee a 16 megapixels. Aucun fichier d'icone separe ni aucune dependance de traitement d'images n'est ajoute au runtime applicatif.
EmbedArchive: true par defaut, pour incorporer l'archive applicative a l'executable. False produit un fichier ExecutableName.nca adjacent, ajoute a Results.Files. Un .nca est une archive ZIP Nelson contenant le manifeste, le code retenu et les ressources, pas le runtime. Distribuer les deux fichiers ensemble ; pour renommer l'application, conserver le meme nom de base pour les deux. Le lancement verifie la taille et le SHA-256 de l'archive avant extraction dans ctfroot. Une archive absente ou modifiee provoque un echec avant le point d'entree. Ce controle d'integrite n'est ni une signature ni un chiffrement. Le .exe est plus petit, mais la taille totale a distribuer n'est pas reduite. Les modes utilisent le meme runtime et le meme moteur de calcul. Les archives separees requierent des lanceurs prenant en charge le format 3 et un runtime prenant en charge ce format.
TreatInputsAsNumeric : false par defaut, pour conserver les arguments de fonction sous forme de vecteurs de caracteres. Avec true, chaque argument de ligne de commande est converti une seule fois par la builtin str2double avant l'appel de la fonction d'entree. Chaque resultat est un scalaire double, reel ou complexe. Les notations decimale et exponentielle, Inf et NaN sont pris en charge ; le texte vide, invalide et les tableaux litteraux donnent NaN. Aucun argument n'est execute comme du code. Une fonction applicative nommee str2double ne peut pas remplacer cette conversion. L'application doit valider les valeurs dont elle a besoin.
argv('user') conserve les vecteurs de caracteres originaux, y compris les arguments vides et les espaces ; les scripts continuent de lire directement ce texte. CustomHelpTextFile est traite avant la conversion numerique. Les constructions numeriques utilisent le manifeste applicatif version 2 ; les anciens runtimes refusent cette version au lieu de transmettre silencieusement du texte. L'option n'ajoute ni traitement aux boucles de calcul ni module au runtime. Les formes en ligne de commande sont -n et --numeric-inputs.
SupportPackages vaut {'autodetect'} par defaut : les dependances trouvees dans les paquets nmm installes sont retenues. 'none' exclut tous les paquets enregistres ; un vecteur de cellules ou de chaines de noms autorise uniquement ces paquets. Les noms sont sensibles a la casse et doivent exister lors de la construction. Cette liste filtre les dependances ; elle ne copie pas des arbres complets et n'execute pas les chargeurs des paquets. Toutes les versions enregistrees suivent la politique. Les exclusions sont indiquees dans l'analyse et peuvent provoquer une erreur a l'execution si elles sont appelees. Une entree ou un AdditionalFiles situe dans un paquet exclu est refuse. IncludedSupportPackages indique les paquets reellement retenus. Aucune selection n'est effectuee au lancement de l'application.
Avec une politique explicite, le compilateur peut resoudre les fonctions depuis le dossier functions du paquet actif enregistre (ou sa racine si ce dossier est absent), apres les chemins deja disponibles. Il n'execute aucun chargeur et ne modifie pas le path de la session. Un paquet peut encore exiger une initialisation ou des services natifs non pris en charge ; le selectionner ne garantit pas son deploiement.
| Version | Description |
|---|