Quelle est la différence en nombre d'octets de code comme le bytecode Java et les fichiers de la machine et de code exécutables comme ELF?
Quelles sont les différences entre le code d'octets binaires exécutables tels que les fichiers de classe Java, Parrot fichiers bytecode ou CLR fichiers de la machine et de code exécutables comme ELF, Mach-O et PE.
quelles sont les différences distinctives entre les deux?
comme les .zone de texte à l'ELFE de la structure est égale à la partie du fichier de classe?
ou ils ont tous des en-têtes, mais l'ELFE et PE-têtes contiennent de l'Architecture, mais le fichier de Classe n'
Fichier De Classe Java
Fichier Elf
Fichier PE
Il n'y a pas de "règles" comment faire un format de chaque type, ce qui signifie qu'il y a assez peu de formats, avec d'importantes variations. En d'autres termes, une question qui ne peut pas vraiment être répondu à 100%.
Le vote pour la fermer comme trop large. Ce qui revient à: comprendre tous les formats et les environnements d'exécution mentionnés ~~
double possible de: stackoverflow.com/questions/1782415/...
Qui ressemble plus à une différence entre le pseudo-code du jeu d'instructions et langage d'assemblage. C'est plus sur le format de fichier exécutable.
Le vote pour la fermer comme trop large. Ce qui revient à: comprendre tous les formats et les environnements d'exécution mentionnés ~~
double possible de: stackoverflow.com/questions/1782415/...
Qui ressemble plus à une différence entre le pseudo-code du jeu d'instructions et langage d'assemblage. C'est plus sur le format de fichier exécutable.
OriginalL'auteur zeitue | 2012-08-30
Vous devez vous connecter pour publier un commentaire.
De Byte code est, comme l'imulsion noté, une étape intermédiaire, juste avant la compilation en code machine. Parce que la dernière étape est laissée à la charge de temps (et souvent de l'exécution, comme c'est le cas avec le Juste-À-Temps (JIT) à la compilation, byte code est indépendant de l'architecture: Le runtime (CLR pour .net ou de la JVM pour Java) est responsable de la cartographie de l'octet de code opcodes de leur sous-jacent du code machine de la représentation.
Par comparaison, le code natif (Windows PE, PE32+, OS X/iOS: Mach-O, Linux/Android/etc: ELF) est le code compilé, adapté pour une architecture particulière (Android/iOS: BRAS, plus d'autre: Intel 32 bits (i386) ou 64 bits). Ces sont tous très similaires, mais nécessitent encore des sections (ou, dans Mach-O langage "Load") pour mettre en place la structure de la mémoire de l'exécutable comme elle devient un processus (Vieux DOS appuyé l' ".com" format raw d'une mémoire d'image). Dans tous les cas, vous pouvez dire , en gros, le suivant:
Espère que cette aide. Vraiment, votre question est vague..
TG
OriginalL'auteur Technologeeks
Du Byte-code est une 'transition' étape. Ainsi, le compilateur Java (javac) permettra de transformer le code source en code octet. Le code Machine est la prochaine étape, où l'ordinateur prend le byte code, le transforme en code machine (qui peut être lu par l'ordinateur), puis les exécute votre programme par la lecture du code machine. Les ordinateurs ne peuvent pas lire le code source directement, de même que les compilateurs ne peuvent pas traduire immédiatement en code machine. Vous avez besoin d'un mi-chemin de l'étape afin de rendre les programmes de travail.
cette information est utile, mais ne me dites pas que la structure des différences et des similitudes, mais cette information me fait penser que le byte-code est tout simplement les appels de fonction .le texte et les variables définies .données
Effectivement il y a des architectures d'ordinateur qui peut exécuter du bytecode Java en natif.
OriginalL'auteur imulsion