Python dịch hướng dẫn thành mã máy như thế nào?

Python là một ngôn ngữ cấp cao nhằm tương đối đơn giản để con người đọc và viết cũng như để máy tính đọc và xử lý. Các ngôn ngữ cấp cao khác bao gồm Java, C++, PHP, Ruby, Basic, Perl, JavaScript, v.v. Phần cứng thực bên trong Bộ xử lý trung tâm [CPU] không hiểu bất kỳ ngôn ngữ cấp cao nào trong số này

CPU hiểu một ngôn ngữ mà chúng ta gọi là ngôn ngữ máy. Ngôn ngữ máy rất đơn giản và nói thẳng ra là rất mệt mỏi khi viết vì nó được biểu diễn tất cả bằng số không và số một

001010001110100100101010000001111
11100110000011101010010101101101
...

Bề ngoài ngôn ngữ máy có vẻ khá đơn giản, chỉ có các số 0 và 1, nhưng cú pháp của nó thậm chí còn phức tạp và phức tạp hơn nhiều so với Python. Vì vậy, rất ít lập trình viên từng viết ngôn ngữ máy. Thay vào đó, chúng tôi xây dựng nhiều trình dịch khác nhau để cho phép các lập trình viên viết bằng các ngôn ngữ cấp cao như Python hoặc JavaScript và những trình dịch này chuyển đổi chương trình thành ngôn ngữ máy để CPU thực thi thực tế

Vì ngôn ngữ máy được gắn với phần cứng máy tính nên ngôn ngữ máy không khả dụng trên các loại phần cứng khác nhau. Các chương trình được viết bằng ngôn ngữ cấp cao có thể được di chuyển giữa các máy tính khác nhau bằng cách sử dụng trình thông dịch khác trên máy mới hoặc biên dịch lại mã để tạo phiên bản ngôn ngữ máy của chương trình cho máy mới

Các trình dịch ngôn ngữ lập trình này thuộc hai loại chung. [1] trình thông dịch và [2] trình biên dịch

Một thông dịch viên đọc mã nguồn của chương trình do lập trình viên viết, phân tích cú pháp mã nguồn và diễn giải các hướng dẫn một cách nhanh chóng. Python là một trình thông dịch và khi chúng ta đang chạy Python một cách tương tác, chúng ta có thể gõ một dòng Python [một câu] và Python sẽ xử lý dòng đó ngay lập tức và sẵn sàng để chúng ta gõ một dòng Python khác

Một số dòng Python nói với Python rằng bạn muốn nó ghi nhớ một số giá trị cho lần sau. Chúng ta cần chọn một tên cho giá trị đó để ghi nhớ và chúng ta có thể sử dụng tên tượng trưng đó để truy xuất giá trị sau này. Chúng tôi sử dụng thuật ngữ biến để chỉ các nhãn mà chúng tôi sử dụng để chỉ dữ liệu được lưu trữ này

>>> x = 6
>>> print[x]
6
>>> y = x * 7
>>> print[y]
42
>>>

Trong ví dụ này, chúng tôi yêu cầu Python nhớ giá trị sáu và sử dụng nhãn x để chúng tôi có thể truy xuất giá trị sau. Chúng tôi xác minh rằng Python đã thực sự ghi nhớ giá trị bằng lệnh in. Sau đó, chúng tôi yêu cầu Python truy xuất x và nhân nó với bảy và đặt giá trị mới được tính vào y. Sau đó, chúng tôi yêu cầu Python in ra giá trị hiện tại trong y

Mặc dù chúng tôi đang nhập các lệnh này vào Python mỗi lần một dòng, nhưng Python đang coi chúng là một chuỗi các câu lệnh được sắp xếp theo thứ tự với các câu lệnh sau có thể truy xuất dữ liệu được tạo trong các câu lệnh trước đó. Chúng tôi đang viết đoạn văn đơn giản đầu tiên của chúng tôi với bốn câu theo thứ tự hợp lý và có ý nghĩa

Bản chất của một phiên dịch viên là có thể có một cuộc trò chuyện tương tác như hình trên. Một trình biên dịch cần được chuyển toàn bộ chương trình trong một tệp, sau đó nó chạy một quy trình để dịch mã nguồn cấp cao sang ngôn ngữ máy và sau đó trình biên dịch đặt ngôn ngữ máy kết quả vào một tệp để thực thi sau này

Q-1. A[n] ________ dịch chương trình sang ngôn ngữ máy từ một tệp và lưu nó để thực hiện sau

Nếu bạn có hệ thống Windows, thường thì các chương trình ngôn ngữ máy có thể thực thi này có hậu tố là “. exe” hoặc “. dll” viết tắt của “thực thi” và “thư viện liên kết động” tương ứng. Trong Linux và Macintosh, không có hậu tố nào đánh dấu duy nhất một tệp là có thể thực thi được

Nếu bạn mở một tệp thực thi trong trình soạn thảo văn bản, nó sẽ trông hoàn toàn điên rồ và không thể đọc được

^?ELF^A^A^A^@^@^@^@^@^@^@^@^@^B^@^C^@^A^@^@^@\xa0\x82
^D^H4^@^@^@\x90^]^@^@^@^@^@^@4^@ ^@^G^@[^@$^@!^@^F^@
^@^@4^@^@^@4\x80^D^H4\x80^D^H\xe0^@^@^@\xe0^@^@^@^E
^@^@^@^D^@^@^@^C^@^@^@^T^A^@^@^T\x81^D^H^T\x81^D^H^S
^@^@^@^S^@^@^@^D^@^@^@^A^@^@^@^A\^D^HQVhT\x83^D^H\xe8
....

Không dễ để đọc hoặc viết ngôn ngữ máy, vì vậy thật tuyệt khi chúng tôi có trình thông dịch và trình biên dịch cho phép chúng tôi viết bằng các ngôn ngữ cấp cao như Python hoặc C

Bây giờ tại thời điểm này trong cuộc thảo luận của chúng ta về trình biên dịch và trình thông dịch, bạn nên thắc mắc một chút về chính trình thông dịch Python. Nó được viết bằng ngôn ngữ gì?

Trình thông dịch Python được viết bằng ngôn ngữ cấp cao gọi là “C”. Bạn có thể xem mã nguồn thực tế của trình thông dịch Python bằng cách truy cập www. con trăn. org và làm việc theo cách của bạn tới mã nguồn của họ. Vì vậy, bản thân Python là một chương trình và nó được biên dịch thành mã máy. Khi bạn cài đặt Python trên máy tính của mình [hoặc nhà cung cấp đã cài đặt nó], bạn đã sao chép một bản sao mã máy của chương trình Python đã dịch vào hệ thống của mình. Trong Windows, mã máy thực thi cho chính Python có khả năng nằm trong một tệp có tên như

Đó là nhiều hơn những gì bạn thực sự cần biết để trở thành một lập trình viên Python, nhưng đôi khi bạn nên trả lời những câu hỏi hóc búa đó ngay từ đầu

Mã được dịch thành mã máy như thế nào?

Trình biên dịch được sử dụng để dịch chương trình được viết bằng ngôn ngữ cấp cao sang mã máy [mã đối tượng]. Sau khi được biên dịch [tất cả trong một lần], tệp chương trình đã dịch sau đó có thể được máy tính sử dụng trực tiếp và có thể thực thi độc lập.

Làm thế nào một ngôn ngữ được giải thích và biến thành mã máy?

Trình biên dịch và trình thông dịch lấy mã mà con người có thể đọc được và chuyển mã đó thành mã máy mà máy tính có thể đọc được . Trong một ngôn ngữ được biên dịch, máy đích dịch trực tiếp chương trình. Trong một ngôn ngữ được giải thích, mã nguồn không được dịch trực tiếp bởi máy đích.

Chủ Đề