2011-06-07 6 views
3

私はC++ MPIアプリケーションを開発しています。私はいくつかの既存のコードを持っています。これは、私が欲しいことを部分的に行うC MPIアプリケーションです。そのため、新しいプログラムにコードの一部をコピー(またはクリーナーC++の方法で書き直すこと)できるはずです。 MPIへのC++インタフェースは廃止されているので(ドキュメントを見つけるのがはるかに難しい)、C++アプリケーションでMPIへのCインタフェースの使用を真剣に検討しています。 C MPIインタフェースとC++ MPIアプリケーションを混在させるのは神の考えですか、あるいは本当にBoostを使うことを学ぶ必要がありますか?C++アプリケーションでのC MPI構文の使用

答えて

5

C++アプリケーションからのC APIの使用には問題ありません。多くのポピュラーなAPIはC言語で書かれています(Windows APIはPOSIX、SQLite、zlib、Python、その他数十種類)。

これが最も便利なソリューションだと思われる場合は、C APIを使用してください。薄いラッパーをC++に書くのはかなり簡単でしょう。

これ以外にも、常に Boostを学んで使用するための良いアイデアです。 BoostはMPIライブラリを持っているので、少なくともそれをチェックする価値があります。

そして最後に、あなたの状況でのために使いやすいものと一緒に行ってください。

+2

+1。私が知っているC++プログラマーの多くは、MPIを使う人はC APIを使用しています(C++バインディングが廃止される前でさえ、それほど素晴らしいことではありません)。 MPIフォーラムは、堅実なFortran + Cバインディングを提供することに焦点を当て、第三者に他の言語との素晴らしいインターフェースを作れるようにしたようです。合理的な選択です。 Boost.MPIを使う人は誰でも知っているそれらのC++プログラマは素晴らしいと思います。 –

+0

ちょっとした質問として...同じコードでCとC++の構文を利用しようとすると、コンパイラの役割はどれくらい重要ですか?またはそれは? – Ashmohan

+0

@Ashmohan:どういう意味ですか?コンパイラの役割は、コードをコンパイルするときには常に重要です。 – jalf