【问题标题】:Calling C functions from Objective-C (references and default parameters)从 Objective-C 调用 C 函数(引用和默认参数)
【发布时间】:2012-03-18 21:59:21
【问题描述】:

当 dylib 的函数包含引用和默认参数时,是否可以将 dylib 的 C 头文件包含到 Objective-C 项目中。例如

extern "C" {
unit32_t GetThisReference(uint32_t & theRef);
unit32_t ThisFunctionHasDefaults(uint32_t aparm, uint32_t one = 1, uint32_t two = 2);
};

谢谢!

【问题讨论】:

  • extern "C" 和默认参数和引用使您的示例看起来像 C++,而不是 C。

标签: objective-c c macos parameters parameter-passing


【解决方案1】:

引用和默认参数是 C++ 的特性,而不是 C。您可以尝试将文件编译为 Objective C++(通过将扩展名更改为 .mm)。

【讨论】:

    【解决方案2】:

    包含 C 库很简单,因为 Objective C 只是普通 C 的超集。但据我所知,C 函数没有默认值。您确定您不是指 C++ 库吗?在这种情况下,您可能希望从 Objective-C++ 文件中调用库函数。

    【讨论】:

      猜你喜欢
      • 2010-10-26
      • 1970-01-01
      • 2018-11-10
      • 2016-12-12
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      相关资源
      最近更新 更多