Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/08/2011, à 09:54

Muetdhiver

Déploiement logiciels 64 bits ou 32 bits ?

Bonjour a tous,

j'ai toujours évolué sur une vieille config 32 bits mais aujourd'hui je vais surement passer à un ubuntu 64 bits..
Avec ceci, je me pose une question:
Je développe un logiciel, que j'ai toujours compilé de façon "classique" avec gcc... Donc je présume que ce logiciel, meme sur des distrib 64 bits, tournait en 32 bits....
Bon, je présume que maintenant je vais, avec mon gcc, compiler nativement en 64 bits sans trop le savoir, finalement....
Si un utilisateur qui est encore sur du 32 bits télécharge mon logiciel, il n'arrivera donc pas à le faire tourner ?

Par ailleurs, je viens de faire un tour sur un site comme telecharger.com, et je prends quelques logiciels connus au hasard (sous windows), et je vois qu'il n'est jamais évoqué de version 64 bits ou 32 bits. Que ce soit pour firefox, opera, finalement c'est transparent pour l'utilisateur. Ca signifie quoi ?
Que ce ne sont des mises à disposition que de logiciel compilés en 32 bits (et que donc sur un windows 7 64bits ils vont tourner nativement, mais sans amélioration) ?
On voit jamais Firefox 32 bits, et Firefox 64 bits par exemple....
Pourtant il doit bien y avoir une différence à la compilation, et donc au niveau du déploiement ?

Je ne comprends pas trop....
Merci pour votre aide.

A plus.

Hors ligne

#2 Le 27/08/2011, à 21:06

shann_

Re : Déploiement logiciels 64 bits ou 32 bits ?

Bonsoir Muetdhiver,

Les applications fournit sans precision sur l'architecture x32 ou x64 sont par défaut en 32 bits pour une plus grande compatibilité.
Les applis 32bits tournerons nativement sous Windows x64 car celui embarque les bibliothèques 32bits par défaut tout comme linux avec le paquet ialibs32.

Il y a différence au niveau de la compilation, les paquets en x64 utilisant le jeu d'instruction 64bits des processeurs x64.
Bien que minime pour la plupart des applications sauf lourdes (traitement video, jeux ...)

Hors ligne

#3 Le 29/08/2011, à 13:00

darkevolution

Re : Déploiement logiciels 64 bits ou 32 bits ?

Plus ou moins nativement... c'est un émulateur 32 bit qui fait le travail sous windows 64 bit, mais on y perd en performances...

Si tu compiles toi même ton programme il sera effectivement en 64 bits.

Sur linux, pour faire tourner un programme 32 bits sur une machine 64 je sais pas comment ça se passe, j'avoue toujours choisir 64 bit, c'est natif et je préfère pas y perdre en perfs. (d'ailleurs je passe toujours par des dépôts, que ce soit ppa ou officiels)

De préférence, si tu souhaites déployer ton programme, propose deux versions wink

Le mieux c'est même de donner deux paquets.

Pour ça, le plus simple c'est d'avoir un pc 32 bits et un 64 bits (tu compiles sur l'un et l'autre t'as les deux versions). Il doit y'avoir moyen de tout faire sur un 64 mais bon...

Le best du best, tu fais un dépôt PPA et tu laisse launchpad (par exemple) compiler et créer tes paquets pour toutes les architectures smile


Schedio: Logiciel de gestion modulable de scripts (dont Gestion/Lancement/Restriction planifiée de logiciels).
http://forum.ubuntu-fr.org/viewtopic.php?id=383356
Apportez vos idées à la version 3 !

Hors ligne

#4 Le 29/08/2011, à 21:37

Le Farfadet Spatial

Re : Déploiement logiciels 64 bits ou 32 bits ?

Salut à tous !

Muetdhiver a écrit :

Si un utilisateur qui est encore sur du 32 bits télécharge mon logiciel, il n'arrivera donc pas à le faire tourner ?

   Le mieux, c’est encore de diffuser les sources, ainsi chacun peut le compiler selon son architecture.

Muetdhiver a écrit :

Par ailleurs, je viens de faire un tour sur un site comme telecharger.com, et je prends quelques logiciels connus au hasard (sous windows), et je vois qu'il n'est jamais évoqué de version 64 bits ou 32 bits. Que ce soit pour firefox, opera, finalement c'est transparent pour l'utilisateur. Ca signifie quoi ?

   Cela peut vouloir dire que le logiciel est fourni en version 32 bits, mais également il est possible que le site détecte l’architecture (à partir des informations que fournit le navigateur).

Muetdhiver a écrit :

Pourtant il doit bien y avoir une différence à la compilation, et donc au niveau du déploiement ?

   Dans le monde des systèmes libres – GNU/Linux, *BSD,  GNU Hurd et Pure Darwin, par exemple –, le principe est que les développeurs d’une application se chargent de coder leurs logiciels, tandis que les développeurs des distributions se chargent de réaliser les paquets pour les architectures qu’ils supportent.

darkevolution a écrit :

Sur linux, pour faire tourner un programme 32 bits sur une machine 64 je sais pas comment ça se passe

   Les architectures x86-64 disposent d’un mode de compatibilité permettant de faire fonctionner des codes 32 bits sans recompilation et sans perte de performance notable. Ceci fonctionne aussi bien sous GNU/Linux que sous Microsoft Windows : il ne s’agit pas d’un émulateur.

   Il y a d’autres solutions. Par exemple, Mac OS X utilise le format d’exécutable Mach-O, qui peut inclure en un seul fichier les codes exécutables d’un même programme pour plusieurs architectures. Dans ce cas, il n’y a pas de perte de performance, en revanche la taille du fichier est plus importante – d’ailleurs, à partir de la version 10.6, il n’est plus question que d’embarquer du code pour architectures x86-64.

darkevolution a écrit :

Pour ça, le plus simple c'est d'avoir un pc 32 bits et un 64 bits (tu compiles sur l'un et l'autre t'as les deux versions). Il doit y'avoir moyen de tout faire sur un 64 mais bon...

   On peut indiquer à GCC l’architecture cible à l’aide de la directive « -march ». Ainsi, pour produire un code à exécuter sur 586 et supérieur, on indiquera « -march=586 ». C’est plus simple et moins cher que d’avoir deux ordinateurs.

darkevolution a écrit :

Le best du best, tu fais un dépôt PPA et tu laisse launchpad (par exemple) compiler et créer tes paquets pour toutes les architectures

   C’est plutôt bien. Toutefois, Launchpad ne réalisera des paquets que pour Ubuntu. Cela dit, il est possible à n’importe qui de récupérer les sources sur Launchpad, sans distinction de distribution, ni même de système d’exploitation.

   À bientôt.

Le Farfadet Spatial

Dernière modification par Le Farfadet Spatial (Le 29/08/2011, à 21:45)

Hors ligne

#5 Le 29/08/2011, à 23:39

HP

Re : Déploiement logiciels 64 bits ou 32 bits ?

Le Farfadet Spatial a écrit :

Il y a d’autres solutions. Par exemple, Mac OS X utilise le format d’exécutable Mach-O, qui peut inclure en un seul fichier les codes exécutables d’un même programme pour plusieurs architectures. Dans ce cas, il n’y a pas de perte de performance, en revanche la taille du fichier est plus importante – d’ailleurs, à partir de la version 10.6, il n’est plus question que d’embarquer du code pour architectures x86-64.

Format qui à la base a surtout été utilisé pour passer de PPC à Intel… par contre, je doute que 10.6 abandonne le support du 32bits… il me semblait que c'était uniquement le support de PPC qui était abandonné, Rosetta et Universal Binary. À vérifier.


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#6 Le 30/08/2011, à 15:43

Le Farfadet Spatial

Re : Déploiement logiciels 64 bits ou 32 bits ?

Salut à tous !

HP a écrit :

Format qui à la base a surtout été utilisé pour passer de PPC à Intel…

   Je pense qu’il a également été utile pour le passage des G3-G4 (32 bits) au G5.

par contre, je doute que 10.6 abandonne le support du 32bits… il me semblait que c'était uniquement le support de PPC qui était abandonné, Rosetta et Universal Binary. À vérifier.

   Tout d’abord, au temps pour moi, j’ai utilisé un mauvais numéro de version, je voulais parler de la version 10.7, qui est la nouvelle.

   Ce que je sais, pour l’avoir testé, c’est que MacOS X 10.6 sur MacIntel a un noyau 32 bits et un espace utilisateurs 64 bits, sauf si on applique la bascule vers un noyau 64 bits (ce qui peut poser des problèmes), tandis que le noyau 10.7 doit être intégralement 64 bits. Par ailleurs, MacOS X 10.7 abandonne officiellement le support des processeurs Core Duo et Core Solo, pour se concentrer uniquement sur les processeurs Core 2 Duo et supérieurs, c’est-à-dire que le support de processeurs 32 bits est officiellement abandonné. Je pense que cela penche en faveur également de l’abandon de l’intégration de version 32 bits des logiciels.

   À bientôt.

Le Farfadet Spatial

Hors ligne