【问题标题】:Interview - Intergrating c++ libraries with iOS app面试 - 将 c++ 库与 iOS 应用程序集成
【发布时间】:2013-02-13 19:04:33
【问题描述】:

大约一个月前有人问我这个问题。这不完全是我的工作,但我很好奇。他们基本上用 C 语言编写了一些音乐库,并希望使它们可用于 ios 代码。

如果我有一些 .c 或 .cpp 文件。如何在 ios 项目中使用它们。同样,这可能会令人困惑,因为我没有给您任何上下文。但任何有用的链接或帮助表示赞赏。

【问题讨论】:

    标签: ios c xcode integration


    【解决方案1】:

    只需将它们添加到项目中,您无需执行任何特殊操作。 XCode(和clang)将从扩展中知道它们是什么语言并适当地编译它们。

    可能需要告诉 xcode 链接到 libstdc++,但就是这样。

    【讨论】:

    • 不需要把.cpp改成.mm了吗?
    • @MikeD 不,xcode 可以很好地处理 cpp(甚至还有一个模板)。虽然如果你想同时使用这两个方面,你需要将其命名为 .mm。
    • 因此,只有在引用基础对象时才需要 .mm 扩展。
    • 从技术上讲,对任何客观 c 对象的引用,我认为这不一定是基础。
    【解决方案2】:

    iOS 基于 Objective-C,它是 C 的超集。出于所有意图和目的,在 Objective-C 下编译 C 时,事情应该“正常工作”。您在 C 中学到的所有结构、函数指针以及所有其他内容仍然有效,并且应该在 Objective-C 下编译。

    事实上,一些 iOS 框架部分(CF 等)是用 C 编写的。

    Is objective C 2.0 a proper superset of C?

    但是,C++ 是另一回事 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-25
      • 2013-04-18
      相关资源
      最近更新 更多