^ Linux From Scratch - Version 12.1-systemd ^^^
^ Chapter 8. Installing Basic System Software ^^^
|[[.:119-libelf_from_elfutils-0.190|이전]] | [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]] | [[.:121-python-3.12.2|다음]]|
|Libelf from Elfutils-0.190 | Python-3.12.2|
----
===== 8.50. Libffi-3.4.4 =====
Libffi 라이브러리는 다양한 호출 규칙에 대한 이식 가능한 고수준 프로그래밍 인터페이스를 제공합니다. 이를 통해 프로그래머는 런타임에 호출 인터페이스 설명에 지정된 모든 함수를 호출할 수 있습니다.
FFI는 외부 함수 인터페이스(Foreign Function Interface)의 약자입니다. FFI는 한 언어로 작성된 프로그램이 다른 언어로 작성된 프로그램을 호출할 수 있게 해줍니다. 특히 Libffi는 Perl 또는 Python과 같은 인터프리터와 C 또는 C++로 작성된 공유 라이브러리 서브루틴 사이에 다리를 제공할 수 있습니다.
* **빌드 시간:** 1.8 SBU
* **디스크 공간:** 11 MB
----
==== 8.50.1. Libffi 설치 ====
**참고** \\
GMP와 마찬가지로 Libffi는 사용 중인 프로세서에 맞게 최적화하여 빌드합니다. 다른 시스템용으로 빌드하는 경우 다음 명령에서 //--with-gcc-arch=// 매개변수의 값을 해당 시스템의 CPU에서 완전히 구현된 아키텍처 이름으로 변경하세요. 이렇게 하지 않으면 ''libffi''에 링크하는 모든 애플리케이션에서 잘못된 작동 오류가 트리거됩니다.
Libffi 컴파일을 준비합니다.
./configure --prefix=/usr \
--disable-static \
--with-gcc-arch=native
=== configure 옵션 설명 ===
* //--with-gcc-arch=native// \\ GCC가 현재 시스템에 최적화되도록 합니다. 이 옵션을 지정하지 않으면 시스템이 추측되어 생성된 코드가 올바르지 않을 수 있습니다. 생성된 코드가 네이티브 시스템에서 성능이 낮은 시스템으로 복사되는 경우 성능이 낮은 시스템을 매개변수로 사용하세요. 대체 시스템 유형에 대한 자세한 내용은 [[https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/x86-Options.html|GCC 매뉴얼의 x86 옵션]]을 참조하세요.
패키지를 컴파일합니다.
make
결과를 테스트하려면
make check
패키지를 설치합니다.
make install
----
==== 8.50.2. Libffi 패키지 구성 ====
* **설치된 라이브러리:** \\ libffi.so
=== 간략한 설명 ===
* **libffi** \\ 외부 함수 인터페이스 API 함수를 포함합니다.