2

Xcode を使用してアルゴリズムをソートするための静的 C++ ライブラリを実装しています。このライブラリ (ファイル .a) を iPhone アプリで使用したいと考えています。もちろん、C++ と C (ファイル .mm) のラッパーを作成する必要があります。しかし、私の問題は、一定期間ごとにこの lib から通知を受けたいということです。

たとえば、「挿入」アルゴリズムを実装していて、プロセスを 10 秒で実行したい場合、1 秒ごとに、lib は新しいソート済み配列 (もちろん不完全です) を最後の完全なソート済み配列まで返します。これどうやってするの?このように static lib C++ から Objective C に通知するにはどうすればよいですか? static libを使わなければ問題はないと思いますが、Javaでもこのlibを再利用したいです。

4

1 に答える 1

1

私は、ロジックの多くが静的または動的ライブラリとしてコンパイルできる 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);
}

これは、Objective-C++ ベースの Cocoa アプリと同様に、C++ コマンド ライン ツールでも同様に機能します。

extern CCからも使用できるようにするために使用していることに注意してください。

于 2013-05-16T01:20:05.800 に答える