クロスプラットフォームサポートが必要なので、私はJava/JavaFXでプログラムを書いた。私が進歩するにつれ、私はJavaでは不可能な低レベルのOSネットワーキング操作を行う必要がありました。私はRuntime.exec()を使いJNA/JNIに移りましたが、JavaのOSの互換性を維持することは、ネイティブアプリケーションに移植するだけの作業ではなくなってしまうのではないかと心配しています。C/C++でのクロスプラットフォームの互換性(Javaからプロジェクトを移植する)?
これを行うにはどのような方法が最適ですか?
私はGTK +が* nixとwindowsでサポートされていることを知っていますので、私はそれを私のUI用に使用します。 OSごとに異なるバージョンのアプリケーションを保守するのはどれほど難しいでしょうか?クロスプラットフォームである必要がありますが、依然として低レベルのOSアクセスを持っているものを書くための出発点をお勧めしますか?私は多くのJavaの経験があります(そしてOpenGLを使ってC++を使いこなしています)が、以前はLinuxを気にする必要はありませんでした。
また、生のパケットを作成し、ICMPのpingを送信し、Javaから他の低レベルのネットワーキングタスクを実行する良い方法はありますか?
http://www.savarese.com/software/rocksaw/ ?? – Thihara
より具体的にする必要があります。 C++自体は非常に移植性があり、Javaよりもいくつかの点で優れていますが、標準ライブラリは非常に小さいです。 C++では、気づいたようにGUIのようなことをするために、サードパーティやプラットフォーム固有のライブラリに依存する必要があることがよくあります。 – congusbongus
誰かがJava APIがOS APIを呼び出すのが非常に簡単になるようにライブラリを挙げました。私はその名前を覚えていません。 – ZhongYu