使用C 编写的算法对数据进行实时处理

Real time processing data using algorithms written in c++

本文关键字:数据 实时处理 算法 使用      更新时间:2023-10-16

这是场景:

我的Swift应用程序从蓝牙收集数据,应实时处理它们。这些数据主要来自IMU(陀螺仪,磁力计和加速度计)。

处理所有这些都将用C 编写的算法,并使用一些库,例如 eigen 。我应该如何解决这样的问题?从我发现的:

1)将C 文件放入我的项目中,在Objective-C中写包装器,然后将其桥接到Swift。现在,请确保我是否可以轻松地将eigen包含在移动应用中。我想这是乏味的过程

2)将所有算法作为库(.dll.lib,并直接从Swift调用,不确定是否可能)

3)将所有算法重写为Swift,使用特征替代Swift,不确定是否存在类似的东西。同样,该解决方案效率较低,并且由于截止日期可能会失败。

我应该如何解决这样的问题?如何以最有效的方式解决它,我可以在其中使用已将C 代码求解?

我相信你们中的一些人会认为这个问题是基于意见的,但我不知道如何以排除任何歧义的方式陈述这个问题。

如何运行iOS应用中使用特征元素的C 文件swift?

预先感谢

您无法从Swift调用C 。但是,您 can 从Objective-C 调用C 。您可以从Swift和Objective-C调用Objective-C 。

只需确保面向公共的@interface代码(在.h文件中)仅包含Objective-C即可。(没有类,没有模板,没有名称空间,没有包括C 标头)。

您的@implementation使用扩展.mm的文件中,该文件将以Objective-C 的形式编译为Objective-C接口,并在实现Oppocity-C对象中充分使用C 。

c 对象非常幸福地生活,作为目标-C 实现的成员变量。但是,它们将被默认构造,然后将OBJC运行时调用Init。如果您使用的是没有默认构造函数的对象,则需要将它们包裹在boost::optionalstd::unique_ptr(etc)中。

您可以将Objective-C对象导入Swift程序。

为任何以前没有做过的人的完整示例:

https://github.com/madmongo1/swift-to-cpp-demo.git