"[DllImport("__Internal")]" - "__Internal" 是什么意思?
"[DllImport("__Internal")]" - what does the "__Internal" mean?
我正在与 Unity 一起开发 iOS 游戏。为了解锁成就,我需要从我的 C# 代码访问一个 "Achievement.mm" 文件:
[DllImport("__Internal")]
private static extern void
GKAchievement(string achievementID, float progress, bool value);
我从论坛上获得了这段代码。但是,“__Internal”是什么意思?
- 使用
[DllImport()]
. 插件 link 他们的代码到 C# unity
__internal
是用于特定平台需要的static linking的关键字,例如XBox和 iOS.
- 其他平台通常使用动态linking,因此不需要。
只是小费。
如果正在加载的库是__Internal
,则在主程序中搜索方法符号。在iOS平台上恰好就是这种情况。
iOS 上的插件无法动态加载。仅如@RaxelZ 所解释的那样是静态的。
OSX、Windows、Android 不同...这些平台可能会动态加载插件。对于 iOS,仅静态。
我正在与 Unity 一起开发 iOS 游戏。为了解锁成就,我需要从我的 C# 代码访问一个 "Achievement.mm" 文件:
[DllImport("__Internal")]
private static extern void
GKAchievement(string achievementID, float progress, bool value);
我从论坛上获得了这段代码。但是,“__Internal”是什么意思?
- 使用
[DllImport()]
. 插件 link 他们的代码到 C# unity
__internal
是用于特定平台需要的static linking的关键字,例如XBox和 iOS.- 其他平台通常使用动态linking,因此不需要。
只是小费。
如果正在加载的库是__Internal
,则在主程序中搜索方法符号。在iOS平台上恰好就是这种情况。
iOS 上的插件无法动态加载。仅如@RaxelZ 所解释的那样是静态的。
OSX、Windows、Android 不同...这些平台可能会动态加载插件。对于 iOS,仅静态。