2016-07-07 23 views

Antwort

2

Sie müssen Deklaration der Funktion foo in der ll-Datei hinzufügen, in dem Sie sie anrufen, dann wie gewohnt convert Link ll Dateien ausführbare Datei erzeugen

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

Beispiel a.ll

declare i32 @foo(i32) 

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

b.ll

define i32 @foo(i32) { 
    start: 
    ret i32 %0 
} 
+0

Vielen Dank. Aber wenn ich eine Funktion foo2() in a.ll habe, die foo() in b.ll verwendet, kann ich C++ API parseIRFile benutzen, um die Funktion foo2() zu extrahieren und sie in C++ Code laufen zu lassen? Wenn das so ist, wie? Vielen Dank. –