Closed vinhdq842 closed 3 years ago
Quá trình thực thi và biên dịch mã phần mềm theo tôi thì gồm các phần sau:
Editor - Để nhập chương trình của bạn vào và trình biên dịch, hiện nay có rất nhiều công cụ như notepad, Intellij, ....
Compiler - Để chuyển đổi chương trình ngôn ngữ cao của bạn thành mã máy gốc
Linker - Để kết hợp các tệp chương trình khác nhau trong chương trình chính của bạn với nhau.
Loader - Để tải các tệp từ thiết bị lưu trữ thứ cấp của bạn như Đĩa cứng, Flash Drive, CD vào RAM để thực thi. Việc tải được tự động thực hiện khi bạn thực thi mã của mình.
Execution - Thực thi mã được xử lý bởi hệ điều hành & bộ xử lý của bạn.
Mã nguồn Java (.java) sẽ được biên dịch ra mã bytecode, sau đó qua một quá trình preverify rồi thu được các file *.class. JVM sẽ tiến hành thông dịch các mã bytecode này và thực thi chúng. Để hiểu thêm về bytecode các bạn có thể dùng phần mềm Java Bytecode Editor (JBE) mở các file class để xem cấu trúc. Ngày xưa mình có nghiên cứu các opcodes của Java nhằm mục đích sửa mã của file class, khá vui.
Theo mình biết thì quá trình biên dịch mã phần mềm gồm: