Khác Biệt Giữa byte code, machine code và intermediate

Mọi người cho em hỏi bytecode, machine code và intermeidate code khác nhau như thế nào? Em đọc một hồi trên wikipedia mà không hiểu.

Được hỏi 1 tháng trước
Bình chọn bởi: Thuy Linh, Nguyễn Tuấn, Lê Trung, Truc Le, Trần Hoan, Phạm Vũ, Kim Hani, Yanell Bự, Duan Le, Minh Tâm, Uni Moon, Lê Trang, Hana Pham, Thủy Ruby, Huy Pro, Phạm Huy, Hải Phạm, Hang Tran, Bui Thinh, Trương Xin
1 Câu Trả Lời

Mã máy hay MachineCode: Là thứ mà máy tính hiểu được và thực thi được.

Còn ByteCode nó giống như một cái code chung vậy đó, nó sẽ đi qua một máy ảo tùy theo ngôn ngữ lập trình để giao tiếp với hệ điều hành dễ dàng hơn, thường thì nó sẽ có trong những ngôn ngữ đa nền tảng như Java có JVM, Python có PVM, C# có CLR. Trình biên dịch hay thông dịch nó sẽ đưa mã nguồn của mình sang byte code, rồi từ bytecode bỏ vào Máy ảo đó để chạy trên hệ điều hành, vậy nên mới có Once Write Run Anywhere.

Ví dụ: mã nguồn (code) →bytecode → được thực thi bởi JVM → mã máy (machine code) trong Java.

Intermeidate code hay mã trung gian (ngôn ngữ biên dịch) bạn có thể đọc hiểu tại đây, cụ thể thì nó đơn giản hóa việc ta sửa lại code nguồn sang code máy, việc biên dịch code trên máy_1 rồi sang máy_2 biên dịch lại code đó thì cần một trình Biên dịch gốc, cho nên phải cần Mã trung gian.

Trả lời 1 tháng trước
Bình chọn bởi: Trương Xin

Thêm Trả Lời