将现有的c代码移植到iOS / iPhone

时间:2013-02-21 08:42:40

标签: iphone ios porting code-reuse

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

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

现在我的要求是将此应用程序移植到iOS(用于iPhone)。我的疑问是:

  • 是否有像ndk和jni这样的工具将此代码移植到iOS?
  • 此代码是否存在任何可靠性问题?

我尝试使用googled相同但无法获得相当多的信息来继续移植过程。

任何有关遗嘱的建议或有用的链接均应表示赞赏。请回复相同的问题。提前谢谢。

3 个答案:

答案 0 :(得分:2)

好消息!

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

更多信息here

答案 1 :(得分:2)

如上所述,所有C代码在Objective-C中都是有效的,因为Objective-C是C的超集。但这有点像文字。声明实际上是

"所有C 语法在Objective-C"

中有效

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

答案 2 :(得分:-1)

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

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

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

请参阅此link