0

私は Java と C でいくつかのプログラミングを行ってきましたが、今では両方を一緒に使用する必要があります。

これが状況です。私はhadoop/Hbaseを使用して大量のデータを処理および保存していますが、C/Cudaを使用してデータの数値計算を行っています。Javaでデータ(基本的にはログファイル)を取得してCプログラムに渡す安定した/成熟した/一般的な方法はありますか?

正しいものを探しているわけではないかもしれませんが、これまでのところ JavaCPP を見つけました。JavaCPP は優れていますが、両方のプログラムが一緒に含まれているようです。Java がデータ フローを処理し、C がデータの処理を処理するため、単一のプログラムが混乱を招く可能性があるのではなく、相互に通信できる独立したプログラムとして保持する方がよいのではないかと考えました。しかし、私は完全に柔軟なので、提案や解決策は大歓迎です。

4

2 に答える 2

2

プログラムを分離したままにしてクライアントサーバーアプローチを使用するか、単に共通のファイル形式を選択し、後の手順で出力ディレクトリをポーリングして新しいファイルを処理する方が、プログラムをテスト可能で明確に保つ方が簡単な場合があります。

さまざまな言語間でファイル形式を簡単に定義できるようにするには、ApacheThriftGoogleProtocolBuffersなどのパッケージを検討してください。

于 2012-10-14T18:17:39.697 に答える
0

ここで私が頭のてっぺんに持っているもの 1.Javaアプリからコマンドラインを使用してCプログラムを実行します。2. JNI/JNA を使用します。 3. 独自の「クライアント サーバー」アーキテクチャを実装します。複雑に聞こえますが、場合によっては、これが最善かつ最も簡単な解決策になることがあります。4. Web サービス、SOAP、REST などを使用して通信します。

これが最初に役立つことを願っています。より具体的な質問をしていただければ幸いです。

于 2012-10-14T18:09:49.490 に答える