>  기사  >  백엔드 개발  >  Python이 크로스 플랫폼인 이유는 무엇입니까?

Python이 크로스 플랫폼인 이유는 무엇입니까?

(*-*)浩
(*-*)浩원래의
2019-05-17 13:39:0814939검색

Python이 크로스 플랫폼일 수 있는 이유: 소스 코드는 크로스 플랫폼입니다. Python 명령어는 결국 C 언어 명령어 세트로 변환되고, C 언어 명령어 세트는 기계 코드로 컴파일되어 최종적으로 실행됩니다. 크로스 플랫폼은 제한됩니다. 1. Windows에는 특별한 것이 없습니다. 2. 인코딩 방법이 호환되어야 합니다.

Python이 크로스 플랫폼인 이유는 무엇입니까?

Cross-platform 개념은 소프트웨어 개발에 있어서 중요한 개념입니다. 즉, 운영체제나 하드웨어 환경에 의존하지 않습니다.

한 운영 체제에서 개발된 애플리케이션은 다른 운영 체제에서도 계속 실행될 수 있습니다. 상대적으로 말하자면, 특정 컴퓨터 언어가 코드를 수정하지 않고도 고도로 크로스 플랫폼이 될 수 있다면 언어는 더욱 추상화되고 하드웨어 제어 수준은 낮아질 것이며 고도로 추상적인 모델 시스템을 개발하는 데에만 적합할 것입니다. 예를 들어 Java, Delphi, Yi Language 및 Python은 모두 크로스 플랫폼입니다. 다양한 시스템 하에서 개발, 실행 및 유지 관리가 가능합니다.

대부분의 컴퓨터 언어는 절대적인 의미에서 크로스 플랫폼입니다. 사람이 읽을 수 있는 높은 수준의 방식으로 CPU에 명령을 내리기 때문에 운영 체제에 의존할 필요가 없습니다. 그러나 시스템의 구성 요소 도구 상자를 사용하여 새로운 그래픽 사용자 인터페이스(GUI)를 생성하려는 경우 개발자의 특정 시스템에서 API 함수나 라이브러리 클래스를 사용할 수 있습니다. C++는 크로스 플랫폼이지만 Windows에서 Win32 API를 사용하는 C++ 프로그램은 일반적으로 Unix 컴퓨터에서 컴파일할 수 없습니다. 컴파일러에 따라 언어 사양도 다르게 해석됩니다. 이 경우 다른 시스템을 구축하기 전에 프로그램을 고려해야 합니다.

Java와 같은 일부 언어는 처음부터 다양한 플랫폼에서 실행되어야 함을 인식하여 해당 플랫폼의 로컬 언어 환경에서 크로스 플랫폼을 구현했습니다. 예를 들어 Java는 많은 플랫폼에서 Swing 라이브러리를 구현하므로 크로스 플랫폼에서 사용할 수 있습니다. 마찬가지로, 각 플랫폼별로 파일 접근을 위한 라이브러리가 있기 때문에 크로스 플랫폼 파일 접근이 가능합니다. 비유하자면, 다양한 크로스 플랫폼 문제를 해결하려면 자체 로컬 라이브러리가 필요합니다. wxWidgets 프레임워크는 다양한 크로스 플랫폼 문제에 따라 다양한 솔루션을 제공하는 크로스 플랫폼 라이브러리입니다. 유사한 라이브러리가 많이 있으며 해당 라이브러리는 다양한 언어의 크로스 플랫폼 개발에 따라 사용될 수 있습니다.

각 운영 체제 및 CPU에 대해 컴파일된 버전을 제공하고 테스트할 가능성은 거의 없습니다. 오픈 소스 소프트웨어를 사용하면 사용자가 개체 코드를 직접 컴파일할 수 있으므로 크로스 플랫폼 측면에서 더 좋습니다. 마찬가지로, 해석된 언어 또는 가상 머신이 필요한 언어는 사용자가 직접 컴파일해야 하기 때문에 크로스 플랫폼 요구 사항에 더 부합합니다. Sun의 Java 가상 머신인 Hotspot은 모든 플랫폼이 아닌 일부 플랫폼에 대해서만 컴파일된 바이너리 파일을 제공합니다. 예를 들어 Sun은 GNU/Linux용 i386 플랫폼만 지원하지만 PowerPC 또는 SPARC 컴퓨터에서 Linux를 실행하는 경우 로컬 기계어 코드를 직접 컴파일하거나 타사 소프트웨어를 사용하여 Java 프로그램을 실행해야 합니다.

많은 API(응용 프로그래밍 인터페이스)는 플랫폼에 따라 다릅니다. OpenGL은 특정 운영 체제, CPU 아키텍처 또는 그래픽 장치 브랜드에 의존하지 않기 때문에 크로스 플랫폼으로 간주될 수 있습니다. 플랫폼별 API는 WINE 라이브러리와 같은 다른 시스템에서 호환성 계층으로 생성될 수 있으므로 Windows 프로그램이 UNIX 시스템에서 실행될 수 있습니다.

또한 많은 프로그래밍 언어에는 크로스 플랫폼 확장과 미들웨어가 있으므로 프로그래머는 Qt 및 wxWidgets와 같은 동일한 소스 코드에 대해 몇 가지 사소한 수정만으로 다른 플랫폼에서 컴파일/실행할 수 있습니다.

모든 플랫폼에서 Python으로 무엇을 할 수 있나요?

파이썬은 최종적으로 이러한 자체 명령어를 c 언어 명령어 세트로 변환한 다음, c 언어 명령어 세트를 기계어 코드로 컴파일한 후 실행하기 때문입니다. 속도를 높이기 위해).

물론 다음과 같은 제한 사항이 있습니다.

1. Windows 관련 사항은 없습니다.

2. 인코딩 방법이 호환되어야 합니다.

AIX, HPUX, Solaris, Linux, Windows 등과 같은 일반적인 주류 플랫폼을 지원합니다. Windows를 제외하고 일반적인 Unix 및 Linux 플랫폼에는 모두 기본 Python이 있지만 버전은 일반적으로 낮습니다. 크로스 플랫폼과 관련하여 다른 크로스 플랫폼 언어와 마찬가지로 일부 개별 모듈은 단일 플랫폼에 고유하지만 전반적인 크로스 플랫폼 성능은 여전히 ​​매우 좋습니다. 여러 코드 세트를 작성할 필요가 없습니다. 여러 플랫폼에 적응합니다.

그러나 이것이 전혀 제한이 없다는 것을 의미하지는 않습니다. 첫째, 동일한 버전의 중간 파일 .py, .pyc 및 .pyo는 크로스 플랫폼입니다. 둘째, 휴대폰 및 패드와 같은 PC 및 모바일 단말기입니다. , 크로스 플랫폼일 수 없습니다(이유로 인해 다음 기사 참조). 마지막으로 Intel 및 ARM, 64비트 및 32비트와 같은 프로세서 아키텍처를 크로스할 수 없습니다.

위 내용은 Python이 크로스 플랫폼인 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.