2
Im essayant d'enregistrer une fonction externe avec JIT clangs sans succès.Enregistrement d'une fonction externe avec JIT de clang?
Heres la fonction im essayant d'appeler:
extern "C"
int myFunction(int val)
{
fprintf(stderr, "success!");
return 1;
}
Heres le code im en utilisant pour l'enregistrer:
llvm::FunctionType* ft = llvm::FunctionType::get(llvm::Type::getInt32Ty(llvm::getGlobalContext()),
std::vector<const llvm::Type*>(1, llvm::Type::getInt32Ty(llvm::getGlobalContext())), false);
llvm::Function* F = llvm::Function::Create(ft, llvm::Function::ExternalLinkage, "yipee", Mod);
EE->addGlobalMapping(F, (void*)(intptr_t)yipee);
Et voici le code c qui sera couru par le JIT:
int myFunction(int);
int main()
{
int dd = myFunction(5);
return 0;
}
Mon code n'est pas correct ou autre chose? Des idées? Merci.
Quelle est l'erreur? Qu'est-ce qu'une ligne de commande complète de démarrage de llvm? – osgx