如何解决从Objective-C调用C函数并传递特定的参数
我必须实现一个C函数,该函数将由我无法控制的Objective-C应用程序调用。
该函数将接收一个CVImageBufferRef
结构,并返回一个NSMutableArray
结构,其中包含一些整数和一个NSString
。
我对此有一些疑问。
-
为成功编译,我应该包括哪些C标头? (获取
CV...
函数和NS...
类型的声明) -
如何处理C中的
NSMutableArray
以添加元素并返回它? -
如何填充C中的
NSString
?
欢迎任何帮助。
更新:
不再设想使用纯C包装器。现在,我的问题减少到如何将Objective-C与Objective-C ++接口并处理我提到的特定数据类型。具体来说,免费电话桥是什么意思?
解决方法
如果您想远离Objective-C:
- “核心视频”内容似乎是C(我看不太仔细),所以
#include <CoreVideo/CoreVideo.h>
应该覆盖您。 - 对于
NSString
和NSMutableArray
,请使用其免费的桥接CoreFoundation副本。免费电话桥接意味着C类型可以与Objective-C类型互换使用。在https://developer.apple.com/library/archive/documentation/General/Conceptual/CocoaEncyclopedia/Toll-FreeBridgin/Toll-FreeBridgin.html上阅读所有相关内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。