🚅【Unity】Burstコードからマネージドコードを呼ぶ2024/03/10に公開2024/03/112件C#UnitytechDiscussionakeit02024/03/10Runtime依存なので実用性は怪しいですが、通常のDelegateもBurstから一応呼び出せます。 C#のmanaged関数ポインタをunmanagedな関数ポインタとして解釈する方法です。 https://github.com/Akeit0/UniReflection/blob/main/Assets/UniReflection/Runtime/InstanceAction.cs ruccho2024/03/10IL2CPPでC#上のmanaged関数ポインタが実態としてunmanaged関数ポインタになっていて、シグネチャさえ合わせれば呼び出せるというのは納得ですね~。 Monoでもcalli unmanaged cdeclでマネージドなメソッドが呼び出せるのはちょっと直観に反しますが、そういうものなんでしょうか🤔 返信を追加
akeit02024/03/10Runtime依存なので実用性は怪しいですが、通常のDelegateもBurstから一応呼び出せます。 C#のmanaged関数ポインタをunmanagedな関数ポインタとして解釈する方法です。 https://github.com/Akeit0/UniReflection/blob/main/Assets/UniReflection/Runtime/InstanceAction.cs ruccho2024/03/10IL2CPPでC#上のmanaged関数ポインタが実態としてunmanaged関数ポインタになっていて、シグネチャさえ合わせれば呼び出せるというのは納得ですね~。 Monoでもcalli unmanaged cdeclでマネージドなメソッドが呼び出せるのはちょっと直観に反しますが、そういうものなんでしょうか🤔 返信を追加
ruccho2024/03/10IL2CPPでC#上のmanaged関数ポインタが実態としてunmanaged関数ポインタになっていて、シグネチャさえ合わせれば呼び出せるというのは納得ですね~。 Monoでもcalli unmanaged cdeclでマネージドなメソッドが呼び出せるのはちょっと直観に反しますが、そういうものなんでしょうか🤔
Discussion
Runtime依存なので実用性は怪しいですが、通常のDelegateもBurstから一応呼び出せます。
C#のmanaged関数ポインタをunmanagedな関数ポインタとして解釈する方法です。
IL2CPPでC#上のmanaged関数ポインタが実態としてunmanaged関数ポインタになっていて、シグネチャさえ合わせれば呼び出せるというのは納得ですね~。
Monoでも
calli unmanaged cdeclでマネージドなメソッドが呼び出せるのはちょっと直観に反しますが、そういうものなんでしょうか🤔