2016-07-07 1 views
0

LLVM IR 코드를 작성하고 있습니다. 다른 .ll 파일에서 함수를 호출 할 수 있습니까?LLVM IR : 다른 .ll 파일에서 함수를 호출하는 방법

예 : a.ll 파일에는 foo() 함수가 있습니다. foo를 호출하는 것처럼 b.ll에서이 함수를 사용할 수 있습니까? 그렇다면, 어떻게 a.ll

감사를 포함 할 수 있습니다

당신은 실행 파일 생성 평소 변환 링크 LL 파일로, 당신이 그것을 호출되는 LL 파일에 foo 함수의 선언을 추가 할 필요가

답변

2

llvm-link a.ll b.ll -o a.out 

예 a.ll

declare i32 @foo(i32) 

define i32 @main() { 
    start: 
    %0 = call i32 @foo(i32 0) 
    ret i32 %0 
} 

b.ll

01,
+0

대단히 감사합니다. 하지만 b.ll에서 foo()를 사용하는 a.ll 함수 foo2()가있는 경우 C++ API parseIRFile을 사용하여 foo2() 함수를 추출하고 C++ 코드로 실행할 수 있습니까? 그렇다면 어떻게? 감사. –

관련 문제