Que sont les bibliothèques partagées en p. Bibliothèque partagée Flash. Comparaison des liens statiques et dynamiques

Saviez-vous Qu'est-ce qu'une expérience de pensée, une expérience gedanken ?
Il s’agit d’une pratique inexistante, d’une expérience d’un autre monde, d’une imagination de quelque chose qui n’existe pas réellement. Les expériences de pensée sont comme des rêves éveillés. Ils donnent naissance à des monstres. Contrairement à une expérience physique, qui est un test expérimental d'hypothèses, une « expérience de pensée » remplace comme par magie les tests expérimentaux par des conclusions souhaitées qui n'ont pas été testées dans la pratique, en manipulant des constructions logiques qui violent en fait la logique elle-même en utilisant des prémisses non prouvées comme des prémisses prouvées, qui c'est, par substitution. Ainsi, la tâche principale des candidats aux « expériences de pensée » est de tromper l'auditeur ou le lecteur en remplaçant une véritable expérience physique par sa « poupée » - un raisonnement fictif sur parole sans la vérification physique elle-même.
Remplir la physique d’« expériences de pensée » imaginaires a conduit à l’émergence d’une image absurde, surréaliste et confuse du monde. Un vrai chercheur doit distinguer ces « emballages de bonbons » des valeurs réelles.

Les relativistes et les positivistes soutiennent que les « expériences de pensée » sont un outil très utile pour tester la cohérence des théories (également nées dans notre esprit). En cela, ils trompent les gens, puisque toute vérification ne peut être effectuée que par une source indépendante de l'objet de la vérification. Le demandeur de l'hypothèse lui-même ne peut pas tester sa propre déclaration, puisque la raison même de cette déclaration est l'absence de contradictions dans la déclaration visibles par le demandeur.

Nous le voyons dans l’exemple du SRT et du GTR, qui sont devenus une sorte de religion qui contrôle la science et l’opinion publique. Aucun nombre de faits qui les contredisent ne peut vaincre la formule d'Einstein : « Si un fait ne correspond pas à la théorie, changez le fait » (Dans une autre version, « Le fait ne correspond-il pas à la théorie ? - Tant pis pour le fait »).

Le maximum auquel une « expérience de pensée » peut prétendre est seulement la cohérence interne de l’hypothèse dans le cadre de la logique propre du candidat, souvent loin d’être vraie. Cela ne vérifie pas le respect de la pratique. Une véritable vérification ne peut avoir lieu que dans le cadre d’une véritable expérience physique.

Une expérience est une expérience car elle n’est pas un raffinement de la pensée, mais un test de la pensée. Une pensée cohérente ne peut pas se vérifier. Cela a été prouvé par Kurt Gödel.

Une bibliothèque partagée permet aux symboles qu'elle contient d'être utilisés dans plusieurs films sans avoir à copier ces symboles dans les bibliothèques de films. Pour cette raison, les objets de bibliothèque partagée sont appelés ressources(Actifs). Dans ce cas, la bibliothèque partagée est utilisée comme fichier externe et n'est pas ajoutée au film créé (ou modifié).

Le recours à des bibliothèques partagées est conseillé par exemple dans les cas suivants :

  • lors de l'utilisation d'une même bande sonore sur plusieurs pages du site ;
  • lors du partage de caractères de police de texte sur plusieurs pages du site ;
  • lorsque vous devez fournir une source unique pour les éléments d'animation utilisés dans plusieurs scènes d'un film ou dans plusieurs films ;
  • lorsque vous souhaitez disposer d’une bibliothèque centrale de ressources pour faciliter le contrôle des modifications.

Flash MX prend en charge deux types de bibliothèques partagées :

  • Durée d'exécution- bibliothèque d'exécution partagée ; les symboles inclus dans une telle bibliothèque peuvent être partagés par plusieurs films, cependant, ces symboles ne peuvent être modifiés que directement dans le film source ;
  • Temps d'auteur- bibliothèque partagée pendant le développement ; Les symboles inclus dans une telle bibliothèque peuvent être partagés entre plusieurs films, et le contenu de la bibliothèque peut être édité dans n'importe quel film en copropriété.

Pour que les ressources partagées de la bibliothèque soient disponibles dans les films hébergés sur un site distant, le fichier Flash de la bibliothèque doit être exporté au format SWF et téléchargé sur le site Web.

Commentaire

La version précédente de Flash ne prenait en charge que la bibliothèque partagée d'exécution.

Pour créer une bibliothèque partagée comme Durée d'exécution nécessaire:

  1. Déterminez ses ressources (les personnages qui y sont inclus) dans un film séparé.
  2. Autoriser l'exportation des caractères partagés.
  3. Précisez l'URL du site où la bibliothèque sera hébergée.
  4. Exportez un fichier Flash avec cette bibliothèque au format SWF et téléchargez-le sur un site Web.

Pour pouvoir utiliser les symboles de la bibliothèque partagée Durée d'exécution dans d'autres films (« copropriétaires »), vous devez créer un lien vers les symboles partagés dans chacun d'eux.

Examinons maintenant plus en détail les étapes répertoriées ci-dessus.

Après avoir créé une bibliothèque partagée, vous devez spécifier les symboles qu'elle contient peuvent être exportés vers d'autres films. Pour ce faire, vous devez procéder comme suit :

  1. Sélectionnez le symbole dans la liste que vous souhaitez rendre « séparable ».
  2. Dans le menu contextuel du symbole, sélectionnez la commande Enchaînement(Obligatoire).
  3. Dans la boîte de dialogue qui s'ouvre Propriétés de liaison de symboles(Paramètres de liaison de symboles), fig. 10.12, cochez la case Exporter pour le partage d'exécution(Autoriser l'exportation au moment de l'exécution).
  4. Dans un champ de texte Identifiant saisir le nom (identifiant) du symbole sous lequel il sera exporté vers le film copropriétaire ; Bien que le champ indique par défaut le nom de la bibliothèque du symbole, s'il contient des espaces, supprimez-les.
  5. Dans un champ de texte URL Saisissez l'adresse Internet du film source (c'est-à-dire le fichier SWF de la bibliothèque partagée).
  6. Si le symbole exporté doit être utilisé directement à partir de la première image du film copropriétaire, sélectionnez le Exporter dans la première image.
  7. Si vous souhaitez que le symbole exporté soit disponible dans un script ActionScript, sélectionnez l'option Exporter pour ActionScript.

Riz. 10.12. Boîte de dialogue Paramètres des symboles de la bibliothèque partagée

Pour utiliser les ressources de la bibliothèque partagée Durée d'exécution dans un film en copropriété, vous devez procéder comme suit :

  1. Ouvrez la bibliothèque de ce film en sélectionnant Fenêtreéquipe Bibliothèque.
  2. Dans le menu déroulant de la bibliothèque, sélectionnez la commande Nouveau symbole ; En conséquence, une boîte de dialogue apparaîtra à l'écran Créer un nouveau symbole(Créer un nouveau symbole), dont la partie centrale est de format similaire à la boîte de dialogue Propriétés de liaison de symboles(Fig. 10.13).
  3. Dans un champ de texte Identifiant Saisissez le nom du symbole que vous souhaitez importer dans l'animation du copropriétaire.
  4. Dans un champ de texte URL Saisissez l'adresse Internet du film source.

Riz. 10.13. Boîte de dialogue pour définir les paramètres de caractères divisés

Utiliser un autre type de bibliothèque partagée - Temps d'auteur- vous permet de modifier (plus précisément de remplacer) le contenu des symboles dans le fichier FLA édité. Il convient de garder à l’esprit que le nom du symbole est déjà « câblé » dans le film en cours de montage. Par conséquent, un symbole importé d'une bibliothèque partagée remplace, pour ainsi dire, le symbole d'origine, en préservant son nom. Si le symbole que vous importez contient des symboles imbriqués, ils seront également importés.

Pour lier le symbole à « substituer » au symbole correspondant de la bibliothèque partagée, il faut :

  1. Dans le fichier que vous éditez, ouvrez la fenêtre de la bibliothèque en sélectionnant dans le menu Fenêtreéquipe Bibliothèque.
  2. Dans la liste des symboles, sélectionnez le symbole à « substituer », faites un clic droit dessus et sélectionnez la commande dans le menu contextuel Propriétés.
  3. Au bas de la boîte de dialogue qui s'ouvre. (voir Fig. 10.13), dans le groupe d'éléments Source(Source) cliquez sur le bouton Parcourir(Vue), et dans la fenêtre Explorateur de fenêtres sélectionnez le fichier FLA avec la bibliothèque souhaitée ; En conséquence, une autre fenêtre apparaîtra à l'écran - Sélectionner le symbole source(Sélectionner le symbole source), qui contient une liste de tous les symboles de la bibliothèque partagée (Fig. 10.14).


Riz. 10.14. Boîte de dialogue Sélectionner le symbole source

  1. Sélectionnez le symbole souhaité dans la liste et cliquez sur le bouton D'ACCORD; cela fermera la fenêtre et changera le format des champs du groupe Source(Fig. 10.15) :
    • la case à cocher deviendra disponible Toujours mettre à jour avant de publier(Toujours mettre à jour avant la publication) - si défini, le symbole du film édité sera automatiquement remplacé par un symbole de la bibliothèque partagée lors de la publication du film ;
    • dans le champ de texte Déposer le chemin d'accès au fichier avec la bibliothèque partagée apparaîtra ;
    • dans le champ de texte Nom du symbole le nom du symbole de la bibliothèque partagée apparaîtra ;
    • le bouton deviendra disponible symbole, cliquer sur ce qui ouvre une boîte de dialogue Sélectionner le symbole source montré sur la fig. 10.14.


Riz. 10h15. Format contrôles du groupe Source après avoir lié des symboles

Commentaire

Un film peut utiliser les ressources de plusieurs bibliothèques partagées de tout type.

En conclusion, voici une autre façon d'utiliser le contenu de la bibliothèque d'un autre film. Pour ce faire, vous avez besoin de :

  1. Sélectionner dans le menu Déposer Commande Flash de la fenêtre principale (Fichier) Ouvrir en tant que bibliothèque(Ouvrir en bibliothèque).
  2. Utiliser une fenêtre Explorateur Windows spécifier un fichier Flash avec la bibliothèque requise ; En conséquence, la fenêtre de cette bibliothèque sera ouverte sur la table.
  3. Copiez les symboles souhaités de la fenêtre de la bibliothèque vers la bibliothèque de films (ou directement dans le tableau).

Le contenu d'une telle bibliothèque, comme le contenu des bibliothèques partagées et permanentes, ne peut pas être modifié depuis une animation client (c'est-à-dire depuis une animation qui utilise ses ressources).

Bibliothèque partagée ou bibliothèque publique est un fichier destiné à être partagé entre . Les modules utilisés par le programme sont chargés à partir d'objets partagés distincts dans la mémoire, plutôt que d'être copiés par l'éditeur de liens lorsqu'il copie un seul exécutable pour le programme.

Les bibliothèques partagées peuvent être liées statiquement, ce qui signifie que les références aux modules de bibliothèque sont résolues et que la mémoire est allouée aux modules lors de la création de l'exécutable. Mais souvent, la liaison des bibliothèques partagées est retardée jusqu'à leur chargement.

Certains systèmes plus anciens, par ex. MCP de Burroughs Les multics n'ont également qu'un seul format pour les exécutables, qu'ils soient génériques ou non. Ils ont partagé des fichiers de bibliothèque au même format que les fichiers exécutables. Cela présente deux avantages principaux : premièrement, chacun d’eux ne nécessite qu’un seul chargeur de démarrage, au lieu de deux (avoir un chargeur de démarrage séparé introduit une complexité supplémentaire). Deuxièmement, il permet également d'utiliser les exécutables comme bibliothèques partagées s'ils disposent d'une table de symboles. Les formats typiques combinés d'exécutables et de bibliothèques partagées sont ELF et Mach-O (tous deux sous Unix) et (Windows).

Dans certains environnements plus anciens tels que Windows 16 bits ou MPE Pour HP 3000, le code de la bibliothèque partagée n'autorisait que les données basées sur la pile (locales), ou d'autres restrictions importantes étaient placées sur le code de la bibliothèque partagée.

Mémoire partagée

Le code de la bibliothèque peut être partagé en mémoire avec les processus, ainsi que sur disque. Si de la mémoire virtuelle est utilisée, les processus s'exécuteront dans une page physique de RAM mappée à différents espaces d'adressage de processus. Cela a ses avantages. Par exemple, dans le système OpenStep, les applications ne font souvent que quelques centaines de kilo-octets et se chargent rapidement ; la plupart de leur code se trouvait dans des bibliothèques déjà chargées par le système d'exploitation à d'autres fins.

Les programmes peuvent partager la RAM en utilisant du code indépendant, comme sous Unix, ce qui donne lieu à une architecture complexe mais flexible. Cela garantit que, grâce à diverses techniques telles que le prémapping de l'espace d'adressage et les réservations de pages, chaque bibliothèque partagée a une plus grande probabilité d'être partagée. La troisième option est stockage à un seul niveau, utilisé Système IBM/38 et ses successeurs.

Dans certains cas, différentes versions de bibliothèques partagées peuvent poser des problèmes, notamment lorsque les bibliothèques de différentes versions portent les mêmes noms de fichiers et sont utilisées pour différentes applications installées sur le système, chacune nécessitant une version spécifique. Ce scénario est connu sous le nom

Une bibliothèque partagée permet aux symboles qu'elle contient d'être utilisés dans plusieurs films sans avoir à copier ces symboles dans les bibliothèques de films. Pour cette raison, les objets de bibliothèque partagée sont appelés ressources(Actifs). Dans ce cas, la bibliothèque partagée est utilisée comme fichier externe et n'est pas ajoutée au film créé (ou modifié).

Le recours à des bibliothèques partagées est conseillé par exemple dans les cas suivants :

  • lors de l'utilisation d'une même bande sonore sur plusieurs pages du site ;
  • lors du partage de caractères de police de texte sur plusieurs pages du site ;
  • lorsque vous devez fournir une source unique pour les éléments d'animation utilisés dans plusieurs scènes d'un film ou dans plusieurs films ;
  • lorsque vous souhaitez disposer d’une bibliothèque centrale de ressources pour faciliter le contrôle des modifications.

Flash MX prend en charge deux types de bibliothèques partagées :

  • Durée d'exécution- bibliothèque d'exécution partagée ; les symboles inclus dans une telle bibliothèque peuvent être partagés par plusieurs films, cependant, ces symboles ne peuvent être modifiés que directement dans le film source ;
  • Temps d'auteur- bibliothèque partagée pendant le développement ; Les symboles inclus dans une telle bibliothèque peuvent être partagés entre plusieurs films, et le contenu de la bibliothèque peut être édité dans n'importe quel film en copropriété.

Pour que les ressources partagées de la bibliothèque soient disponibles dans les films hébergés sur un site distant, le fichier Flash de la bibliothèque doit être exporté au format SWF et téléchargé sur le site Web.

Commentaire
La version précédente de Flash ne prenait en charge que la bibliothèque partagée d'exécution.
.

Pour créer une bibliothèque partagée comme Durée d'exécution, nécessaire:

  1. Déterminez ses ressources (les personnages qui y sont inclus) dans un film séparé.
  2. Autoriser l'exportation des caractères partagés.
  3. Précisez l'URL du site où la bibliothèque sera hébergée.
  4. Exportez un fichier Flash avec cette bibliothèque au format SWF et téléchargez-le sur un site Web.

Pour pouvoir utiliser les symboles de la bibliothèque partagée Durée d'exécution dans d'autres films (« copropriétaires »), il faut créer un lien vers les symboles partagés dans chacun d'eux.

Examinons maintenant plus en détail les étapes répertoriées ci-dessus.

Après avoir créé une bibliothèque partagée, vous devez spécifier les symboles qu'elle contient peuvent être exportés vers d'autres films. Pour ce faire, vous devez procéder comme suit :

  1. Sélectionnez le symbole que vous souhaitez rendre « partagé » dans la liste.
  2. Dans le menu contextuel du symbole, sélectionnez la commande Enchaînement(Obligatoire).
  3. Dans la boîte de dialogue qui s'ouvre Propriétés de liaison de symboles(Paramètres de liaison de symboles), fig. 10.12, cochez la case Exporter pour le partage d'exécution(Autoriser l'exportation au moment de l'exécution).
  4. Dans un champ de texte Identifiant saisir le nom (identifiant) du symbole sous lequel il sera exporté vers le film copropriétaire ; Bien que le champ indique par défaut le nom de la bibliothèque du symbole, s'il contient des espaces, supprimez-les.
  5. Dans un champ de texte URL Saisissez l'adresse Internet du film source (c'est-à-dire le fichier SWF de la bibliothèque partagée).
  6. Si le symbole exporté doit être utilisé directement à partir de la première image du film copropriétaire, sélectionnez le Exporter dans la première image.
  7. Si vous souhaitez que le symbole exporté soit disponible dans un script ActionScript, sélectionnez l'option Exporter pour ActionScript.

Riz. 10.12. Boîte de dialogue Paramètres des symboles de la bibliothèque partagée

Pour utiliser les ressources de la bibliothèque partagée Durée d'exécution dans un film en copropriété, vous devez procéder comme suit :

  1. Ouvrez la bibliothèque de ce film en sélectionnant Fenêtreéquipe Bibliothèque.
  2. Dans le menu déroulant de la bibliothèque, sélectionnez la commande Nouveau symbole ; En conséquence, une boîte de dialogue apparaîtra à l'écran Créer un nouveau symbole(Créer un nouveau symbole), dont la partie centrale est de format similaire à la boîte de dialogue Propriétés de liaison de symboles(Fig. 10.13).
  3. Dans un champ de texte Identifiant Saisissez le nom du symbole que vous souhaitez importer dans l'animation du copropriétaire.
  4. Dans un champ de texte URL Saisissez l'adresse Internet du film source.


Riz. 10.13. Boîte de dialogue pour définir les paramètres de caractères divisés

Plus tôt, nous avons mentionné les bibliothèques partagées comme l'un des avantages des gestionnaires de mémoire de pages et de segments par rapport aux gestionnaires de base et bancaires. Avec l'adressage de base, l'image de chaque processus doit occuper des régions contiguës dans l'espace d'adressage physique et logique. Dans ces conditions, il est impossible de mettre en œuvre une bibliothèque partagée. Mais même en utilisant l'adressage de page, tout n'est pas si simple.

L'utilisation de bibliothèques partagées et/ou de DLL (dans ce cas la différence entre elles n'est pas fondamentale) implique l'une ou l'autre forme d'assemblage au moment du chargement : le module exécutable possède les liens d'adresses non résolus et les noms de bibliothèques dont il a besoin. Une fois chargées, ces bibliothèques sont chargées et les liens sont résolus. Le problème ici est que lors du chargement d'une bibliothèque, vous devez la déplacer, en reconfigurant les références absolues dans son code et ses données (voir chapitre 3). Si la bibliothèque est configurée à différentes adresses dans différents processus, elle ne sera plus partagée (Fig. 5.14) ! Si les bibliothèques partagées peuvent avoir des liens non résolus vers d'autres bibliothèques, le problème ne fait qu'empirer : des liens externes sont ajoutés aux liens déplacés.

Riz. 5.14. Adresses de mappage de DLL en conflit

Sur les anciens systèmes Unix qui utilisaient des modules chargeables absolus du format a.out, les bibliothèques partagées étaient également disponibles au format de module absolu configuré sur des adresses fixes. Chaque bibliothèque a été configurée à son adresse. Le fournisseur de nouvelles bibliothèques devait convenir de cette adresse avec les développeurs du système. C'était très peu pratique, il y avait donc très peu de bibliothèques partagées (surtout si l'on ne compte pas celles qui étaient incluses dans la distribution du système d'exploitation).

Une solution plus acceptable à ce problème est implémentée dans OS/2 2.x et Win32 (ces deux architectures sont des développements de systèmes avec un seul espace d'adressage). L'idée est d'attribuer une zone d'adresse pour le chargement des DLL et de mapper cette zone aux espaces d'adressage de tous les processus. Ainsi, toutes les DLL chargées sur le système sont visibles par tous (Figure 5.15).



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :