• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マッピングとは?)

マッピングとは?JavaでCと併用したいので、JNAを使用しています。

このQ&Aのポイント
  • マッピングとは、CをJavaのインターフェースでオブジェクト化することを指します。
  • インターフェースを使用しないとマッピングできないのは、Cのソースコードを読み込んで処理するためです。
  • JNAを使用することで、JavaからCの関数を呼び出すことやCのデータ構造をJavaで使用することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

マッピングとは対応付けのことです。JNAでは以下の対応付けをユーザーが行う必要があります。 ・ライブラリのマッピング: ネイティブのライブラリ (.so, .dllなど) とJavaのインターフェイスの対応 ・APIのマッピング: ネイティブの関数をJavaからどういう名前で呼ぶかの対応 ・データ型のマッピング: ネイティブの関数の引数や返値の型をJava側のどのような型に結びつけるか (単純な型については予め決まっています) >Cの処理内容をどこが行っているのですか?? >ただ単に、Cそのものを動かして結果だけをとっているのでしょうか? その通りです。 そのため、CのコードをコンパイルしたネイティブのライブラリをNative.loadLibrary()で指定する必要があります。

Ratimisu
質問者

お礼

そうでしたか>< ありがとうございます!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

>マッピングとはなんですか?! 用語の定義としてということなら、 マッピングとはあるものを別のものに対応付けること。 数学で習うところの写像ってやつです。 たとえば、CのFile構造体、fopen()、fclose()について、JavaのMyFileクラス、MyFile.open()、MyFile.close()みたいのを定義して、MyFileではCのライブラリをネイティブ呼び出しするみたいなコードを書けば、CのライブラリをJavaにマッピングしたと言えるでしょう。 そういう一般的な言い方をするもので、「ズバリ、マッピングとはこれである」みたいな厳密な唯一の定義というのは多分存在しないかと。

Ratimisu
質問者

補足

それは、つまり・・・結局Cも動いているんでしょうか・・・? それとも、Cと同じ動きをJavaが行っているのでしょうか?;;

すると、全ての回答が全文表示されます。

関連するQ&A