2

我有一个用 C 语言编写的视频解码器的源代码。

该代码已在 linux OS 下成功编译并执行。后来我还在 ndk 和 JNI 的帮助下将此解码器移植到了一个 android 应用程序中。

现在我的要求是将这个应用程序移植到 iOS(即 iPhone)上。我的查询是:

  • 是否有 ndk 和 jni 之类的工具可以将此代码移植到 iOS?
  • 这段代码会有任何可靠性问题吗?

我尝试用谷歌搜索相同的信息,但无法获得相当数量的信息来继续移植过程。

任何有关遗嘱的建议或有用的链接将不胜感激。请回复相同的。提前致谢。

4

3 回答 3

2

如上所述,是的,所有 C 代码在 Objective-C 中都是有效的,因为 Objective-C 是 C 的超集。然而,这有点扭曲。该声明实际上是

“所有 C语法在 Objective-C 中都有效”

无法保证您的所有代码在 iOS 环境中都能 100% 正常运行。由于您可以执行诸如从 C 或其他机器/操作系统特定的事情进行 UNIX 系统调用之类的事情,因此可能有部分代码在 iOS 中不受支持。如果您编写了您正在使用的所有 C 代码,并且确定它不包含这样的调用或类似的东西,那么您应该没问题。

于 2014-03-13T14:34:25.670 回答
2

好消息!

用于 iPhone 的语言 Objective C 是 C 的超集。这意味着所有 C 代码都是本机支持的。您根本不需要转换代码!

更多信息在这里

于 2013-02-21T08:46:54.253 回答
-1

它并不那么简单,取决于如何用 C 编写代码。

如果直接添加文件和调用函数不起作用,则需要对文件名进行以下更改 -

  • 制作扩展名为 .mm 而不是 .m 的文件
  • 将 .c 文件重命名为 .mm
  • 将 .h 文件重命名为 .hpp (一旦我在我的项目中移植了 C 文件,它就对我有用)

参考这个链接

于 2013-02-21T09:06:48.360 回答