私は基本的に管理されたネイティブコードとそのdifferenceという考えを理解しています。しかし、彼らが互いに通信することは技術的にどのように可能ですか?次の例を想像してみてください。混合コード(ネイティブ、管理対象):どのように(技術的に)相互運用できますか?
特定のプラットフォーム向けにコンパイルされた静的または動的なC++ライブラリがあります。今、私はJava Programmを書いています。このコードでは、ライブラリ関数を 'native'キーワードで呼び出します。私は、バイトコードでjarファイルを構築し、C++ライブラリファイルは別々のままです。結果はプラットフォームに依存しなくなりました。
しかし呼ばれるネイティブメソッドが存在する場合、どのようにJavaのプログラムの開発を知っていますか?
実行時にプログラムコード全体がどのように実行されますか?私は、バイトコードがJITで解釈またはコンパイルされることを知っています。
これはどのようにしてサンドボックスのパラダイムに適合しますか?ネイティブコードもサンドボックス内で実行されていますか?
(javaとC++の両方のコードが最終的にマシンコードなので動作しますか?
多分これは疑問な質問です。しかし、私はいつも不思議だった...
編集:私は3良い答えを得た。本当に私を助けたのは本当に決めることができません。しかし、私は私の側からこのトピックを閉じるために、この質問に回答としてマークします。