linux apr은 Apache 휴대용 런타임 라이브러리를 나타내며 전체 영어 이름은 "Apache 휴대용 런타임 라이브러리"입니다. 이는 주로 여러 운영 체제에서 사용할 수 있는 하위 수준 지원 인터페이스 라이브러리와 함께 상위 계층 애플리케이션을 제공합니다. 플랫폼.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
Linux apr이 무엇인가요?
apache 소개 apr
APR(Apache 휴대용 런타임 라이브러리, Apache 휴대용 런타임 라이브러리)의 목적은 이름에서 알 수 있듯이 주로 상위 계층 애플리케이션에 다음을 수행할 수 있는 하위 수준 지원을 제공하는 것입니다. 여러 운영 체제 플랫폼 인터페이스 라이브러리에서 사용할 수 있습니다. Apache의 초기 버전에서는 애플리케이션 자체가 다양한 특정 운영 체제 플랫폼의 세부 사항을 처리하고 다양한 플랫폼에 대해 다양한 처리 기능을 호출할 수 있어야 했습니다.
아파치의 추가 개발과 함께 아파치 조직은 이러한 공통 기능을 분리하여 새로운 프로젝트로 개발하기로 결정했습니다. 이런 방식으로 APR 개발은 Apache와 독립적이며 Apache는 APR만 사용합니다. 현재 APR은 주로 Apache에서 사용됩니다. 그러나 APR의 향상된 이식성으로 인해 이식이 필요한 일부 C 프로그램에서도 Flood 로더(http://httpd.apache)와 같은 오픈 소스 프로젝트를 사용하기 시작했습니다. .org/test/flood / 이 프로젝트는 서버 스트레스 테스트에 사용되며 Apache에만 적용되는 것은 아닙니다), FreeSwitch(www.freeswitch.org), JXTA-C(http://jxta-c.jxta.org, C JXTA 지점 간 플랫폼 구현 버전) ; 상용 프로젝트에는 Blogline(http://www.bloglines.com/), covalent(http://www.covalent.net) 등이 포함됩니다.
APR이 처리를 이동합니다. 즉, Unix, Linux, Window 등 애플리케이션 실행을 위한 인터페이스가 기본적으로 통일되어 있기 때문에 APR을 위해서는 이식성 및 상위가 통일되어 있어야 합니다. -layer 인터페이스는 고려 사항입니다. APR의 원래 목적은 원래 Apache에서 사용되는 모든 코드를 공통 코드 기반으로 병합하려고 했기 때문에 나중에 APR이 변경되었습니다. 예를 들어 요청을 스레드나 프로세스에 매핑하는 방법은 플랫폼에 따라 다르기 때문에 APR의 목표는 안전하게 병합하는 것입니다.
APR의 초기 목표 중 하나는 (일부 플랫폼만이 아닌) 모든 플랫폼에 공통된 통합 작업 기능 인터페이스를 제공하는 것입니다. 모든 플랫폼의 모든 기능을 지원하는 것은 불가능하므로 APR은 현재 Win32, OS/2, BeOS, Darwin, Linux 등을 포함한 대부분의 플랫폼에 대한 모든 APR 기능만 지원합니다. 이러한 목표를 위해 APR이 개발되었습니다. 작성자는 플랫폼 간에 이러한 기능을 구별하기 위해 모든 플랫폼에서 실행될 수 없는 기능에 대한 일련의 기능 매크로(FEATURE MACROS)를 생성해야 하며 일반적으로 APR_HAS_FEATURE 매개변수로 설정됩니다. :
특정 플랫폼에 이 기능이 있는 경우 이 매크로를 true로 설정해야 합니다. 예를 들어 Linux와 창 모두 메모리 매핑 파일을 가지고 있으며 APR은 메모리 매핑 파일에 대한 작업 인터페이스를 제공합니다. , APR_HAS_MMAP 매크로가 설정되어야 하며 ap_mmap_* 함수는 디스크 파일을 메모리에 매핑하고 적절한 상태 코드를 반환해야 합니다. 운영 체제가 메모리 매핑을 지원하지 않는 경우 APR_HAS_MMAP는 0으로 설정되어야 하며 모든 ap_mmap_* 함수는 정의되지 않을 수 있습니다. 두 번째 단계는 프로그램에서 지원되지 않는 기능을 사용하는 사람들에게 경고하는 것입니다.
현재 APR에서 지원되는 기본 유형은 다음과 같습니다.
표 3-1 APR에서 지원되는 기본 유형
유형 이름 |
폴더 이름 |
설명 |
atomic |
/apr/atomic |
원자적 연산 |
dso |
/apr/dso | 공유 라이브러리의 동적 로딩 |
file io |
/apr/file_io |
파일 IO 처리 |
mmap |
/apr/mmap |
메모리 매핑 파일 |
자물쇠 |
/apr/locks |
프로세스 및 스레드 뮤텍스 |
memory |
/apr/memory |
메모리 풀 작업 |
network_io |
/apr/network_io |
네트워크 IO 처리 |
poll |
/apr/poll |
Poll IO |
table | /apr/tables |
Apache 배열( 스택) 및 테이블과 해시 테이블 |
process |
/apr/threadproc |
프로세스 및 스레드 작업 |
user |
/apr/user |
사용자 및 사용자 그룹 운영 |
time |
/apr/time |
시간운영 |
string |
/apr/strings |
문자열 작업 |
password |
/apr/passwd |
터미널 비밀번호 처리 |
misc |
/4월 /misc |
Hodgepodge, 나머지 클래스에 속하지 않는 모든 apr 유형을 여기에 배치할 수 있습니다 |
shmem |
/apr/shmem |
공유 메모리 |
random |
/apr/random |
난수 생성 라이브러리 |
http://labs.mop.com/apache-mirror//apr/apr-1.4.6.tar.gz http://labs.mop.com/apache-mirror//apr/apr-util-1.4.1.tar.gz http://labs.mop.com/apache-mirror//apr/apr-iconv-1.2.1.tar.gz
관련 권장 사항: "Linux Video Tutorial"
위 내용은 apr 리눅스가 뭐야?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!