たとえば、次のようなものを含むObjective-Cコンパイル済みモジュールがあるとします。
typedef bool (^BoolBlock)(void);
BoolBlock returnABlock(void)
{
return Block_copy(^bool(void){
printf("Block executing.\n");
return YES;
});
}
returnABlock()
...次に、LLVM C ++ APIを使用して、そのモジュールをロードし、関数を呼び出すためのCallInstを作成します。
Function *returnABlockFunction = returnABlockModule->getFunction(std::string("returnABlock"));
CallInst *returnABlockCall = CallInst::Create(returnABlockFunction, "returnABlockCall", entryBlock);
returnABlockCall
次に、オブジェクトを介して返されたブロックを呼び出すにはどうすればよいですか?