Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπερα

εχω μια απορια σε σχεση με το butecode και την μεταφραση στην java

αλλα πριν κανω την ερωτηση πρεπει να διευκρινησω κατι

η διαδικασια μεταγλωτισης ενος προγραμματος ειναι ΑΛΓΟΡΙΘΜΟΣ>ΠΡΟΓΡΑΜΜΑ>16ΑΔΙΚΟ{hex)>ΔΥΑΔΙΚΟ

ΑΥΤΟ ΑΛΗΘΕΥΕΙ??

Δημοσ.

Όχι.

 

Source code == (javac) ==> JVM bytecode == (java jitter) ==> machine code ο οποίος εκτελείται "on the bare metal" (δηλαδή στον επεξεργαστή, απλά μου αρέσουν οι εκφράσεις που έχουν metal γιατί είναι badass).

 

Τα αριθμητικά συστήματα που αναφέρεις είναι συστήματα αναπαράστασης και δεν έχουν καμία σχέση, απλώς τα χρησιμοποιούμε εμείς οι άνθρωποι για να συννενοούμαστε. Το χιόνι δεν ξέρει ούτε τι είναι βαθμός Κελσίου ούτε Φαρενάιτ. Ξέρει απλά πως είναι τόσο κρύο.

  • Like 2
Δημοσ.

Γενικά αν σε απασχολεί η ανταλλαγή δεδομένων σε επίπεδο byte μεταξύ αρχείων που γράφτηκαν με Java και κάποιο άλλο πρόγραμμα (πχ. σε C), αρκεί να θυμάσαι ότι η Java αποθηκεύει με "Big Endian" αναπαράσταση τις αριθμητικές τιμές της (πχ. int κλπ) στα stream της οπότε αν δουλεύεις με 80x86 Little Endian μεταφραστές (πχ. με κάποιον τυπικό C compiler) χρειάζεται μετατροπή των τιμών στο ανάλογο Endian order (απλή αλλά άχαρη διαδικασία).

Δημοσ.

οχι λεω αν γενικα η εκτελεση ενος προγραμματος{οχι java } εκτελειται  σε αλγοριθμο>προγραμμα>hex>010101001

η ερωτηση μου ειναι η εξης : γιατι η java μεσω της μεταφρασης βαζει το bytecode για να τρεχει ολες οι αρχιτεκτονικες ενω αλλες γλωσσες προγραμματισμου οπως η python τρεχει και σε MAC και σε Windows και σε linux χωρις καιμια αλλαγη δηλαδη το Butecode γιατι υπαρχει εφ οσον αλλες γλωσσες τρεχουν χωρις αυτο κανονικοτατα.......

Δημοσ.

Ποιός είπε ότι η Python δεν χρησιμοποιεί bytecode? Μια χαρά compile σε bytecode κάνει, απλά δεν είναι τόσο προφανές.

 

Και επίσης ποιός είπε το bytecode χρειάζεται για να τρέχει σε όλες τις αρχιτεκτονικές; Η C δεν έχει bytecode αλλά προγράμματα γραμμένα σ' αυτή τρέχουν μέχρι και σε high-end καβουρντιστήρια.

 

Γι' αυτό που ρωτάς στο τέλος μπορείς να ρίξεις μια ματιά εδώ αλλά γενικά μια πλήρης απάντηση έχει έκταση που μετριέται σε σελίδες.

Δημοσ.

οκ αυτο το καταλαβα

δηλάδη η μεταφραση της java και γενικοτερα των γλωσσων που χρησιμοποιουν butecode ειναι Αλγοριθμος > Προγραμμα > butecode > 16αδικο > δυαδικο

Δημοσ.

το λεω γιατι στην πρωτη απαντηση δεν αναφερες το 16αδικο τελος παντων οκ το καταλαβα

ευχαριστω παιδια

Υσ= μην παραξενευεστε αν λεω ακυρα η τελειως λαθος πραγματα ειμαι 15 χρωνων :-D :-D :-D :-D :-D :-D :-D :-D :-D

Δημοσ.

Το ανέφερα, στην τελευταία παράγραφο. Όπως και το δυαδικό, δεν έχουν καμία σχέση με το τι γίνεται κατά τη διαδικασία μετάφρασης κώδικα σε πρόγραμμα που εκτελείται.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...