>  기사  >  백엔드 개발  >  PHP는 컴파일된 언어인가요 아니면 해석된 언어인가요?

PHP는 컴파일된 언어인가요 아니면 해석된 언어인가요?

王林
王林원래의
2019-09-20 11:54:344765검색

PHP는 컴파일된 언어인가요 아니면 해석된 언어인가요?

컴파일된 언어

특수 컴파일러를 사용합니다(Windows의 Visual Studio와 유사). 플랫폼(운영 체제)에서 특정 고급 언어 소스 코드는 플랫폼의 하드웨어에서 동시에 실행되는 기계어 코드(기계 명령 및 피연산자 포함)로 "번역"되어 플랫폼에서 인식할 수 있는 실행 가능한 프로그램으로 패키지됩니다. (.exe) 형식에서 이 변환 프로세스를 컴파일이라고 합니다.

컴파일된 실행 프로그램은 개발 환경에서 분리되어 특정 플랫폼에서 독립적으로 실행될 수 있습니다. 일부 프로그램은 컴파일된 후 다른 컴파일된 개체 코드를 연결해야 할 수도 있습니다. 즉, 두 개 이상의 개체 코드 모듈을 조합하여 최종 실행 프로그램을 생성해야 하는 경우 저수준 코드 재사용이 달성됩니다.

컴파일된 언어 코드는 한 번 컴파일되어 반복적으로 사용됩니다. 즉, 선인은 나무를 심었고 후손은 그늘을 누렸다는 것이다.

C, C++, Objective-C 등은 모두 컴파일된 언어입니다.

해석언어

소스 프로그램은 프로그램이 실행되기 전에 중간언어로 미리 컴파일된 후, 중간언어에 의해 실행된다. 통역사.

통역 언어로 된 프로그램은 실행될 때마다 한 번씩 컴파일해야 하기 때문에 일반적으로 통역 언어 프로그램의 실행 효율성이 낮고, 통역사와 독립적으로 실행될 수 없습니다. C#, PHP, Python, Java 등은 모두 해석된 언어입니다.

컴파일된 언어

Advantages

1. 장점 중 하나는 실행 속도입니다. C/C++로 작성된 프로그램은 Java로 작성된 동일한 프로그램보다 30%-70% 더 빠르게 실행됩니다.

2. 컴파일된 프로그램은 해석된 프로그램보다 메모리를 덜 소비합니다.

단점

1 단점 - 컴파일러는 인터프리터보다 작성하기가 훨씬 더 어렵습니다

2 . 컴파일러는 프로그램을 디버깅할 때 많은 도움을 제공하지 않습니다. C 언어 코드에서 "Null Pointer Exception"이 몇 번이나 발생했으며 코드에서 오류가 있는 위치를 파악하는 데 몇 시간이 걸렸습니다.

3. 실행 가능한 컴파일 코드는 동일한 해석 코드보다 훨씬 큽니다. 예를 들어, C/C++ .exe 파일은 동일한 기능을 가진 Java .class 파일보다 훨씬 큽니다.

4. 컴파일된 프로그램은 플랫폼에 따라 다르므로 플랫폼에 따라 다릅니다.

5. 컴파일된 프로그램은 코드의 보안 구현을 지원하지 않습니다. 예를 들어 컴파일된 프로그램은 메모리의 모든 영역에 액세스하여 PC에 원하는 모든 작업을 수행할 수 있습니다. 대부분의 바이러스는 컴파일된 코드를 사용하여 작성됩니다. 언어).

6. 느슨한 보안 및 플랫폼 종속성으로 인해 컴파일된 언어는 인터넷 또는 웹 기반 애플리케이션 개발에 적합하지 않습니다.

통역언어

장점

1. 디버깅 지원. PHP 실행 환경은 예외의 성격을 나타낼 뿐만 아니라 예외가 발생한 특정 줄 번호와 함수 호출 순서도 제공하기 때문에 PHP 프로그래머가 "널 포인터 예외"를 찾아서 수정하는 데는 몇 분 밖에 걸리지 않습니다( 유명한 스택 추적 정보). 이러한 편리함은 컴파일된 언어에서는 제공되지 않습니다.

2. 인터프리터는 컴파일러보다 구현하기 쉽습니다

3. 뛰어난 플랫폼 독립성

4. 인터넷 응용프로그램의 경우

5. 중간 언어 코드의 크기가 컴파일된 실행 코드보다 훨씬 작습니다

단점

# 🎜🎜#더 많은 메모리와 CPU 리소스를 차지합니다. 인터프리터 언어로 작성된 프로그램을 실행하기 위해서는 먼저 해당 인터프리터를 실행해야 하기 때문이다. 통역사는 복잡하고 지능적이며 리소스 집약적인 프로그램이며 많은 CPU 주기와 메모리를 차지합니다.

실행 효율성은 컴파일된 프로그램보다 훨씬 느립니다. 인터프리터는 많은 코드 최적화 및 런타임 보안 검사를 수행합니다. 이러한 추가 단계는 더 많은 리소스를 사용하고 애플리케이션 속도를 더욱 저하시킵니다.

추천 튜토리얼:

PHP 비디오 튜토리얼

위 내용은 PHP는 컴파일된 언어인가요 아니면 해석된 언어인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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