IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 32-bits / 64-bits Assembleur Discussion :

Recherche de tuto


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut Recherche de tuto
    Bonjour,
    Je cherche un tutoriel traitant des règles de compatibilité permettant d'exécuter un code sur machine 32 ou 64 bits indifféremment :
    syntaxe, choix du compilateur, option du compilateur etc.
    Si quelqu'un a une lien, je serais comblé
    Merci d'avance.

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    je vois pas bien ce que tu veux dire, tu parles de créer un binaire spécifique ? un PE ? un ELF ? autre ? c'est pour une exécution directe en mémoire (type shellcode, pas de binaire) ?

    la notion 32/64 bits n'intervient qu'avec l'OS (en dessous on démarre en 16bits), du coup c'est l'OS qui se charge de lire le binaire, lequel a un format particulier
    sous Windows 64 par exemple, nativement, le système peut exécuter du code 32bits ou "32/64" dans une espèce de compatibilité un peu batarde, tandis que sous Linux 64 il faudra explicitement installer le package et la lib de compatibilité 32/64 et nativement les numéros des appels système entre 32 et 64bits diffèrent complètement

    c'est donc très dépendant d'un certain contexte, sans dire que je pourrai t'aider plus que ça faudrait préciser ta question à mon avis

  3. #3
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Au temps pour moi : PE - Le contexte d'utilisation est Windows.
    Je dispose d'un module précompilé (obj) qui linké dans un projet me donne un exécutable fonctionnel uniquement sous un windows 32 bits
    et qui crashe sous une version 64bits quelque soit le mode de compatibilité et je ne veux pas qu'il soit indispensable
    d'utiliser de machine virtuelle pour exécuter l'application.
    Je me posais la question de savoir le choix du compilateur ou des options de compilation pouvait être le problème
    plutôt qu'un problème lié à la syntaxe du code.

  4. #4
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    windows 64bits permet nativement de lire des exécutables 32bits, donc il faudrait voir pourquoi "ça crashe", aussi bien le programme s'exécute mais plante à cause d'un bug dans le code, mais il est aussi possible que le binaire cible soit en fait un binaire 32bits avec un stub 16bits que Win64 ne peut pas lire, pas un vrai binaire 32bits donc, dans ce cas la seule option est de recompiler le .obj

    Edit: possiblement creuser de ce coté là https://en.wikipedia.org/wiki/New_Executable
    While designed for 16-bit OSes, NE executables can be run on 32-bit Windows. Beginning with Windows Vista, icon resources inside New Executables are not extracted and shown even by the 32-bit shell. 64-bit versions of Windows completely lack native support for running NE executables, because 64-bit Windows can't run 16-bit programs on the processor without the help of an emulator.

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Désolé, finalement le problème est ailleurs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WebForms]Recherche un tuto
    Par zooffy dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 21/06/2006, 11h05
  2. recherche de tuto detaillés
    Par rostomides dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/04/2006, 21h38
  3. [VB6]Recherche de tutos introuvable
    Par benbetto dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/03/2006, 20h51
  4. [NASM] Recherche de tuto en français
    Par fabnet dans le forum Assembleur
    Réponses: 4
    Dernier message: 31/03/2005, 20h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo