4D v16.3Présentation |
||
|
4D v16.3
Présentation
Présentation
Vous pouvez compiler votre application, c’est-à-dire traduire en langage machine la totalité de vos méthodes. La compilation d’une base permet de vérifier la cohérence du code, d’accélérer son exécution et donne la possibilité de protéger intégralement le code. La compilation est une étape indispensable entre le développement de bases de données sous 4D et le déploiement d’applications autonomes. Le processus de compilation est entièrement automatique ; toutefois, la compilation requiert une plus grande rigueur dans l’écriture du code 4D. Le chapitre Compilateur du manuel Langage de 4D fournit des conseils et des précisions concernant la programmation en vue de la compilation. A noter qu’en outre, le compilateur vous signalera vos erreurs de programmation et les replacera dans leur contexte. Un ordinateur est une machine à laquelle on ne peut transmettre des ordres que par des “0” et des “1”. Le cœur de cette machine, le microprocesseur, n’est pas capable de comprendre un autre langage. Ce langage binaire est appelé langage machine. Lorsque l’on écrit un programme, dans n’importe quel langage informatique (C, C++, SQL, Java, BASIC, 4D…), les instructions sont traduites en langage machine, afin d’être comprises par le microprocesseur de l’ordinateur. Deux cas de figure peuvent alors se présenter :
Pour un programme interprété, l’exécution d’une instruction se décompose de la façon suivante :
Ce cycle s’exécute pour chacune des instructions composant un programme. Le programme qui se charge de l’exécution d’un tel cycle pour chaque instruction est appelé interpréteur. Dans une base de données en cours de développement, les méthodes 4D sont interprétées. Un programme compilé est entièrement traduit avant le début de l’exécution. On obtient alors une série d’instructions en langage machine. Cette série peut être conservée et utilisée plusieurs fois. Ainsi, pour un programme donné, la phase de traduction n’est effectuée qu’une seule fois, quel que soit le nombre d’utilisations futures du programme. Cette phase est totalement indépendante de toute utilisation du programme. Le programme chargé de la traduction est appelé compilateur. Le compilateur de 4D compile dans votre base les méthodes base, les méthodes projet, les triggers, les méthodes formulaire et les méthodes objet. Si vous n’avez aucun de ces éléments dans une application, le compilateur n’a rien à compiler. Lorsque vous avez mené à bien la compilation, l’utilisation de la base compilée est identique à celle de la base originale. Le premier bénéfice de la compilation est évidemment un gain de temps conséquent lors de l’exécution des instructions. Il existe deux autres avantages directement liés à la compilation :
Le gain de performance tient à deux raisons majeures : la traduction directe et définitive du code et l’accès direct aux adresses des variables et des méthodes.
Le compilateur fonctionne aussi comme analyseur syntaxique de vos bases. Il procède à un examen systématique de votre code et relève vos éventuelles négligences alors que 4D ne le fait que lorsque la méthode est exécutée. Supposez que l’une de vos méthodes contienne une série de tests et des séquences d’instructions à exécuter. Il est improbable que vous testiez absolument tous les cas de figure si le nombre de tests est, par exemple, supérieur à 100. Il n’est alors pas impossible que se révèle à l’utilisation une erreur de syntaxe contenue dans un cas non testé. Ce phénomène ne peut pas se produire lorsque vous utilisez une base compilée. En effet, lors de la compilation, la base entière est parcourue et la syntaxe de chaque instruction est vérifiée. S’il existe une anomalie, le compilateur la détecte et vous demande d’y remédier. Une fois que vous avez compilé votre base, vous pouvez en supprimer le code interprété à l’aide du générateur d’applications. Dans ce cas, l’accès au mode Développement (hors enregistrements) est verrouillé. Pour plus d’informations sur le générateur d’applications, reportez-vous au chapitre Finaliser et déployer les applications finales. Dans une base compilée, les commandes liées au développement sont donc désactivées. Lorsqu’un composant compilé est installé dans une base hôte, les méthodes projet partagées sont accessibles dans l’Explorateur et peuvent être appelées dans les méthodes de la base hôte mais leur contenu n’apparaît pas dans la zone de prévisualisation ni dans le débogueur. Les autres méthodes projet du composant n’apparaissent jamais. Pour plus d’informations sur les composants, reportez-vous au chapitre Développer et installer des composants 4D. Les avantages sont les suivants :
Le compilateur est intégré à 4D. La compilation d’une base de données s’effectue depuis la boîte de dialogue suivante : Il est également possible de déclencher directement une compilation avec les paramètres courants via la commande Lancer la compilation, présente dans le menu Développement et le menu associé au bouton “Compilateur” de la barre d’outils. La compilation est effectuée en tenant compte d’options génériques de compilation, paramétrables dans la Page Compilateur des Propriétés de la base. Une fois la base compilée, il reste possible à tout moment de basculer du mode interprété au mode compilé et inversement via les commandes Redémarrer en interprété et Redémarrer en compilé du menu Exécution, sans devoir quitter l’application — sauf si le code interprété a été supprimé (voir paragraphe précédent). La boîte de dialogue d’ouverture de base de données permet également de choisir le mode interprété ou compilé au lancement de la base (cf. paragraphe Options de la boîte de dialogue d’ouverture). Si vous effectuez des modifications sur la structure de la base en mode interprété, vous devez la recompiler afin d’en bénéficier en mode compilé. Lorsque vous passez d’un mode à l’autre, 4D referme le mode courant et ouvre le nouveau mode. Ce fonctionnement revient à quitter puis rouvrir l’application. Par conséquent, lors du changement de mode, 4D exécute dans l’ordre suivant les méthodes base éventuellement définies : Méthode base Sur fermeture -> Méthode base Sur ouverture
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Mode Développement ( 4D v16) |