>  기사  >  백엔드 개발  >  PHP를 컴파일해야 합니까?

PHP를 컴파일해야 합니까?

王林
王林원래의
2019-09-16 17:53:117181검색

PHP를 컴파일해야 합니까?

PHP는 해석 언어이지만 여전히 컴파일이 필요합니다. 컴파일된 언어와 해석된 언어가 무엇인지, 그리고 각각의 장점과 단점은 무엇인지 소개하겠습니다.

컴파일된 언어:

1. 특정 고급 언어 소스 코드를 특정 플랫폼(운영 체제)용 플랫폼으로 한 번에 "번역"하려면 특수 컴파일러(Windows의 Visual Studio와 유사)를 사용합니다. 하드웨어에서 실행되는 기계어 코드(기계 명령어 및 피연산자 포함)는 플랫폼에서 인식되는 실행 가능한 프로그램(.exe) 형식으로 패키지됩니다. 이러한 변환 프로세스를 컴파일이라고 합니다. 컴파일된 실행 프로그램은 개발 환경에서 분리되어 특정 플랫폼에서 독립적으로 실행될 수 있습니다. 일부 프로그램은 컴파일된 후 다른 컴파일된 개체 코드를 연결해야 할 수도 있습니다. 즉, 두 개 이상의 개체 코드 모듈을 조합하여 최종 실행 프로그램을 생성해야 하는 경우 저수준 코드 재사용이 달성됩니다.

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

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

해석 언어:

1. 프로그램이 실행되기 전에 소스 프로그램이 중간 언어로 미리 컴파일되어 있습니다. 그런 다음 인터프리터는 중간 언어인 Language

2를 실행합니다. 인터프리터 언어로 된 프로그램은 실행될 때마다 한 번씩 컴파일해야 합니다. 따라서 인터프리터 언어 프로그램의 실행 효율성은 일반적으로 낮으며 독립적으로 실행될 수 없습니다. 통역사.

3. C#, PHP, Python, Java 등은 모두 해석된 언어입니다.

컴파일 언어의 장점:

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

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

단점:

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

2 컴파일러는 프로그램을 디버깅할 때 많은 도움을 제공하지 않습니다. C에 문제가 몇 번이나 발생합니까? 코드에서 "널 포인터 예외"가 발생하면 코드에서 오류가 있는 위치를 파악하는 데 몇 시간이 걸릴 수 있습니다.

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

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

5. 컴파일된 프로그램은 코드의 보안 구현을 지원하지 않습니다. 예를 들어 컴파일된 프로그램은 메모리의 모든 영역에 액세스하여 PC에서 원하는 모든 작업을 수행할 수 있습니다(대부분의 바이러스는 컴파일된 6을 사용합니다. 보안 및 플랫폼이 느슨하기 때문에). 종속성이 있으므로 컴파일된 언어는 인터넷이나 웹 기반 응용 프로그램을 개발하는 데 적합하지 않습니다.

통역 언어의 장점:


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

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

3. 뛰어난 플랫폼 독립성

4. 높은 수준의 보안 - 이는 인터넷 애플리케이션에 긴급하게 필요합니다.

5. 중간 언어 코드의 크기가 작습니다. code 실행 가능한 코드가 훨씬 작습니다

단점:


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

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

위 내용은 참고용입니다!


추천 튜토리얼:

PHP 비디오 튜토리얼

위 내용은 PHP를 컴파일해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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