これは少し複雑ですが、試してみましょう。
LUA スクリプトを自分のゲーム エンジンに統合しています。これは過去に win32 でエレガントな方法で実行しました。win32 では、エクスポート関数として LUA に公開したいすべての関数をマークするだけでした。次に、それらを LUA に統合するために、実行可能ファイルの PE ヘッダーを解析し、名前を解読し、パラメーターなどを解析してから、LUA ランタイムに登録します。これにより、LUA に公開するためだけにすべての関数を個別に手動で登録することを避けることができました。
さて、私が iPhone で作業している今日に目を向けてみましょう。私はいくつかの Unix のものを調べて、同様のアプローチを取ることに非常に近づいてきましたが、実際に機能するかどうかはわかりません。
私は Unix に完全に精通しているわけではありませんが、これまで iPhone で使用していたものを以下に示します。
-
ステップ 1: Objective-C を介して実行可能パスを照会し、アプリのパスを取得する
ステップ 2: dlopen を使用して、次を使用してアプリへのハンドルを取得します: `dlopen(path, RTLD_NOW)`
ステップ 3: `dlsym( libraryHandle, objectName )` を使用して、既知のシンボルのアドレスを取得しようとします。
上記の手順では、実際に目的の場所に到達することはできませんが、それでもうまくいきません。Unixでこの種のことをした経験のある人はいますか? 正しい軌道に乗せるためにグーグルで検索できるヘッダーや関数はありますか?
ありがとう;)