gpt4 book ai didi

c++ - 从 C++ 库通知 Objective C

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:27:43 26 4
gpt4 key购买 nike

我正在使用 Xcode 实现一个用于排序算法的静态 C++ 库。我想在我的 iPhone 应用程序中使用这个库(文件 .a)。当然,我必须为 C++ 和 C(文件 .mm)编写一个包装器。但是我的问题是我想在每个固定时间段后收到来自该库的通知。

例如,我正在实现“插入”算法,我希望这个过程在 10s 内发生,然后每一秒之后,库将返回一个新的排序数组(当然它是不完整的),直到最后一个完整的排序数组.我怎样才能做到这一点?如何像这样从静态库 C++ 通知 Objective C?如果不使用静态库,我想问题并不难,但我也想在 Java 中重新使用这个库。

最佳答案

我有一个类似的项目,其中大部分逻辑都是作为 C++ 库实现的,可以将其编译为静态库或动态库。我还有一个命令行 C++ 测试程序,所以我所有的回调,基本上相当于他们对带有取消选项的东西有多远,都是作为简单的 C++ 回调实现的:

extern "C"
{
/**
* Callback function from long operations.
*
* @param gameNum The number of the game being processed (1-based).
* @param percentComplete Processing progress. (0.0 to 100.0).
* @param contextInfo Context Info passed to the database method.
*
* @return false to terminate processing, else true.
*/
typedef bool(*DATABASE_CALLBACK_FUNC)(unsigned gameNum, float percentComplete, void *contextInfo);
}

这在 C++ 命令行工具中的效果与基于 Objective-C++ 的 Cocoa 应用程序一样好。

请注意,我使用 extern C 使其也可以从 C 中使用。

关于c++ - 从 C++ 库通知 Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com