gpt4 book ai didi

c# - 使用来自 mono 的 freepascal 库 (.dylib)

转载 作者:行者123 更新时间:2023-11-30 21:17:48 26 4
gpt4 key购买 nike

虽然学习 C# 和 Delphi Prism 以与 monotouch 一起使用是有益的,但我正在寻找一种方法来重用用普通 Object Pascal 编写的代码。简单地重写我 15 年来在 Delphi 中所做的一切是完全不能接受的。

所以我的问题是双重的:

  1. 如果我为了论证有一个用普通对象编写的库没有外部依赖的 Pascal并使用 ARM freepascal 编译适用于 iPhone 的编译器 - 我可以使用吗来自 monotouch 的 dylib?
  2. 如果以上内容正确,我如何从 C#/Prism 声明和调用这些外部函数?我如何处理单声道中传递的记录类型等?

我注意到其他 iPhone 应用程序附带了它们自己的 dylib 文件(SDL 游戏库是一个典型的例子)。我没有发现为什么这不起作用。

最佳答案

我没有使用过 monotouch,但是 Mono/.NET 有一个称为 P/Invoke(平台调用)的功能。

基本上,您在托管代码中将您的函数/过程声明为 extern 并添加一个 DLLImport 属性。

与其名称相反,DLLImport 从 Linux 上的 .so 文件和 .dylib 文件中导入函数/过程。

http://www.mono-project.com/Interop_with_Native_Libraries

P/Invoke in Mono

关于c# - 使用来自 mono 的 freepascal 库 (.dylib),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4600459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com