|
Bas de page | |
---|---|
Auteur | Sujet : Compilateur asm, comment ça fonctionne ? |
Publicité | Posté le 30-06-2005 à 14:31:08 |
theshockwave I work at a firm named Koslow | recherche sur opcode, formats de fichiers PE ou ELF, ce sera un bon début |
NullDragon | Ok merci |
NullDragon | Ok Mais si je comprends bien, cette traduction du code on la place séquentiellement dans un fichier objet, enfin un fichier .o, un fichier txt ou peu importe et c'est la qu'intervient l'éditeur de liens ? Pour convertir ce fichier objet en un format d'un OS, PE, ELF, etc ?
|
chrisbk - | bin ensuite au niveau des format d'executable, j'en ai aucune idée. Moi j'avais fait un truc a moi parce que je le pouvais, je suis pas allé plus loin. Je peux t'aider sur l'encodage d'opcode mais ca sera tout |
NullDragon | Ok
|
theshockwave I work at a firm named Koslow | le fichier objet a un format précis (notamment, tu as la définition des symboles dans l'objet avec une information pour savoir s'ils sont dans l'objet ou externes afin que l'éditeur de lien puisse s'y retrouver)
Message édité par theshockwave le 30-06-2005 à 16:00:10 |
chrisbk - |
|
Publicité | Posté le 30-06-2005 à 16:01:17 |
NullDragon | Hmm, je n'ai rien trouvé |
theshockwave I work at a firm named Koslow |
NullDragon | Merci |
NullDragon | Autre petite question
|
chrisbk - | jcrois tu vas trop vite en besogne. Au besoin, fait toi deja ton format d'execute et ensuite code (en C ou autre) le loader qui chargera et executera le code. T'aurais le temps pour penser au reste plus tard) |
NullDragon | Ok Mais c'est justement ce que je me demande, comment fonctionne un loader et un format d'exe, est-ce qu'un format d'exe doit contenir des trucs de base qui sont commun à tout les exe ? Mis à part de contenir les instructions Ensuite je supposes que le loader doit aller cibler le point d'entrée de l'exe, d'ou la nécessité des main() et winmain() dans les programmes Mais est-ce que le passage de la main au cpu se fait uniquement par un Jump ou si c'est plus complexe que ça ?
|
chrisbk - | le prototype de winmain est different de main |
NullDragon | Ah ? Différent en quoi ? il me semble qu'un point d'entrée c'est un point d'entrée |
theshockwave I work at a firm named Koslow | l'exe peut contenir pas mal de choses, des indications sur l'adresse à laquelle sera chargée le programme (pour le PE, et évidemment, l'adresse est exprimée dans l'espace d'adressage du processus qui sera créé) et des adresses pour les symboles à des fins de debug, par exemple. J'ai encore un souvenir assez amer des stabs du format ELF que j'ai pu découvrir il y a quelques mois ... heureusement que j'ai pas trop eu à bosser là-dessus ...
|
theshockwave I work at a firm named Koslow |
|
chrisbk - |
|
NullDragon | Ah oui
|
theshockwave I work at a firm named Koslow | je sais que dans l'ELF, on peut savoir si l'exécutable est prévu pour tourner sur un hôte big endian ou little endian, donc j'imagine qu'on doit aussi pouvoir savoir si on doit s'attendre à un proc 64 bits ou non ou ce genre de subtilité ... Cependant, ce n'est pas limitatif à _1_ os ... on peut faire tourner des programmes linux sous BSD, par exemple (si, en activant l'émulation linux dans le kernel {edit : sous NetBSD, en tout cas } )
Message édité par theshockwave le 30-06-2005 à 17:29:57 |
NullDragon | ABI ?
|
chrisbk - | Helene et les garcons, le miel et les abeilles, tout ca |
Harkonnen ModérateurUn modo pour les bannir tous |
|
NullDragon | Ok Mais concrètement c'est quoi une "convention" d'appel ? |
chrisbk - | jcrois tu veux griller les etapes la, c'est la base d'un appel de fonction ca |
NullDragon | Non c'est juste que j'aime bien regarder un peu de tout en général, ça m'aide à faire les liens entre tout les éléments La base d'un appel de fonction ?
|
chrisbk - |
|
chrisbk - | en C++ tu peux modifier la convention d'appel. Genre sous VS t'as les mots clés
Message édité par chrisbk le 30-06-2005 à 19:56:02 |
NullDragon | Ah oui j'avais vu cela en C++ j'y ait lu quelques textes sur ça, si j'ai bien compris c'est la façon dont on passe les paramètres dans quel ordre et comment se traite le retour.
|
jan0 | pour les conventions d'appels ( et le reste de l'assembleur )
|
NullDragon | Merci |
Publicité | Posté le |
Sujets relatifs | |
---|---|
JSP : probleme utilisation jsp:useBean | Quel est le meilleur compilateur microsoft? |
Comment créer un compilateur C++ ? | Fonction Validation Email qui ne fonctionne pas alors qu'elle devrait |
compilateur VB | Utilisation d'une librairie avec 2 compilateurs |
[Access 2003] certaines propriétés ou méthode ne fonctionne pas !! | Compilateur multi-langages |
tomcat jsp: comment fonctionne l'encodage URL vers java? | Condition elsif ne fonctionne pas comme je le veux. |
Plus de sujets relatifs à : Compilateur asm, comment ça fonctionne ? |