저는 C++ 라이브러리가 아닌 LLVM IR을 직접 내보내는 프런트 엔드 (현재는 어쩌면 영원히 장난감 언어)를 만들고 있습니다.LLVM 별칭 및 IFunc 기능을 사용하는 실용적인 예는 무엇입니까?
본 적이 있지만 주제 기능을 선언하고 사용하는 실제적이고 실질적인 예는 찾을 수 없습니다. 내가해야 할 최선은 Language Reference.
제목과 같은 질문입니다.
저는 C++ 라이브러리가 아닌 LLVM IR을 직접 내보내는 프런트 엔드 (현재는 어쩌면 영원히 장난감 언어)를 만들고 있습니다.LLVM 별칭 및 IFunc 기능을 사용하는 실용적인 예는 무엇입니까?
본 적이 있지만 주제 기능을 선언하고 사용하는 실제적이고 실질적인 예는 찾을 수 없습니다. 내가해야 할 최선은 Language Reference.
제목과 같은 질문입니다.
LLVM에서 많은 것을 찾지 못했지만, GCC docs에서 더 자세한 설명을 발견했습니다.
별칭, 특히 약한 별칭은 시스템 헤더가 정의하지 않은 경우 특정 기능의 기본 구현을 정의하는 데 사용할 수 있습니다. This 질문은 Linux glibc 소스에서의 사용 예를 보여줍니다.
예를 들어, ifunc는 특정 프로세서에 최적화 된 일부 기능의 다른 버전을 선택하려는 경우 유용 할 수 있습니다. 작성한 해석자 함수는 특정 시스템 특성 (예 : 프로세서 유형)을 판별하고 올바른 함수에 대한 포인터를 리턴하기 위해 일부 OS 고유 코드를 사용할 수 있습니다.
이 중 대부분은 정말 낮은 수준의 항목이므로 99 %는 언어 프런트 엔드에서 사용할 필요가 없음을 확신합니다.