- 积分
- 101
- 在线时间
- 3 小时
- 主题
- 2
- 注册时间
- 2019-7-7
- 帖子
- 88
- 最后登录
- 2024-5-28
- 帖子
- 88
- 软币
- 196
- 在线时间
- 3 小时
- 注册时间
- 2019-7-7
|
如果您对 NativeAot 或 Gtk3/Gtk4 Wrapper 使用 AppWithPlugin 来处理所有内容,则说明委托函数指针 ( delegate* ) 的结构字符串不可用。
我看到 ClangSharpPInvokeGenerator 和类 UnmanagedCallerOnlyAttribute 存在问题,它们无法将结构字符串传递给 UnmanagementCallerOnly 的静态函数,或者您的应用程序尝试与加载共享库进行通信。
因为我有一个想法,所以我将 AppWithPlugin 写入 NativeAot,并且我希望 sbyte* 用于字符串,sbyte** 用于 string[] 在 C/C++ 中作为 const char* 和 char** 传递。
您可以在 https://github.com/DeafMan1983/AppWithPluginForNativeAot 查看我的存储库。
SDL2 包装器示例 (DeafMan1983.Interop.SDL2):
对于字符串到 sbyte*(来自字符串的 sbyte*):
sbyte* title = SBytePointerFromString("HelloSDL");
SDL_Window* window = SDL_CreateWindow(title, ... );
|
|