GNU/Linux >> Tutoriels Linux >  >> Linux

Liaison de la bibliothèque 32 bits au programme 64 bits

Pour un exemple d'utilisation d'IPC pour exécuter des plugins 32 bits à partir de code 64 bits, regardez le NSPluginWrapper open source.


C'est possible, mais pas sans une magie sérieuse dans les coulisses et vous n'aimerez pas la réponse. Émulez un processeur 32 bits (non, je ne plaisante pas) ou remettez le processus principal en 32 bits. L'émulation peut cependant être lente.

Ceci est une preuve de concept de la technique.

Ensuite, gardez un tableau de chaque accéder à la mémoire vers et depuis la bibliothèque 32 bits et les maintenir synchronisés. Il est très difficile d'atteindre une exhaustivité théorique, mais quelque chose de réalisable devrait être assez facile, mais très fastidieux.

Dans la plupart des cas, je pense que deux processus, puis l'IPC entre les deux, peuvent en fait être les plus simples, comme suggéré autrement.


Non. Vous ne pouvez pas créer de lien direct vers du code 32 bits dans un programme 64 bits.

La meilleure option consiste à compiler un programme 32 bits (autonome) pouvant s'exécuter sur votre plate-forme 64 bits (en utilisant ia32), puis à utiliser une forme de communication inter-processus pour communiquer avec lui depuis votre programme 64 bits.


Linux
  1. Comment déterminer si un Linux donné est 32 bits ou 64 bits ?

  2. Espace d'adressage du processus 32 bits sur Linux 64 bits

  3. Performances Arithmétique 32 bits contre 64 bits

  4. Lier une bibliothèque partagée avec une autre bibliothèque partagée sous Linux

  5. Recherche de bibliothèques 32 bits sur Linux 64 bits

Votre Ubuntu est-il un système d'exploitation 32 bits ou 64 bits ?

Comment savoir si vous avez un ordinateur 32 bits ou 64 bits sous Linux et Windows

Votre Ubuntu est-il un système d'exploitation 32 bits ou 64 bits ? [IHM + Terminal]

Comment passer de 64 bits à 32 bits ?

Comment savoir si la version 32 bits ou 64 bits de Linux

Comment vérifier que le système Linux est 32 bits ou 64 bits ?