저는 LLVM 컴파일러 및 인프라를 처음 사용합니다. 나는 다음과 같은 생각을 가지고있다. Clang은 Rustc for Rust 프로그래밍 언어와 마찬가지로 C/C++의 LLVM 프런트 엔드입니다. 두 가지 모두 LLVM IR 코드를 방출 할 수 있으며 방출 된 코드는 실행 가능한 응용 프로그램으로 컴파일 할 수 있습니다.다른 언어의 기본 컴파일러로 사용되는 LLVM
제 질문은 다른 프로그래밍 언어를 연결할 수 있습니까? 적외선 소스 파일에서 모두 생성되면,
/* Code in C */
int add(int, int);
int main()
{
printf("%d", add(5 ,6));
}
예
// Code in Rust
fn main()
{
println!("{}", add(5, 6));
}
fn add (x: i32, y: i32) -> i32
{
x + y
}
대한 녹에서 정의 된 함수는 이들을 연결하고 하나의 애플리케이션을 생성 할 수있다 - 예를 나타?
이 작품에 대해 궁금한 점이 있으면 알려 주시기 바랍니다.
녹 녹이거나 어딘가에서 전화를 걸면 문제가 달라집니다. –
먼저 각 소스 코드를 별도로 clang에 제공해야합니다.그런 다음 llvm-link 명령은 여러 비트 코드 파일을 병합 할 수 있습니다. 한 소스 코드의 호출이 두 번째 소스 코드와 일치하면 작동 할 수 있습니다. –
두 언어 모두 응용 프로그램 바이너리 인터페이스 호환 가능해야합니다. –