みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

JNAでc言語ファイルの読み込み方が分かりません

JNAでc言語ファイルの読み込み方が分かりません

JNAを使用して、javaからcを読み込み動作するプログラムを作っています。
なんとなく定義は分かってきたのですが、

javaのソースコードに
CLibrary.INSTANCE.printf();

のように、c言語を書き込んでいる状況なのですが、
JNAを利用した.javaファイルから.cファイルを読み込む方法はありますか?

c言語の場合、.cファイルごとに分割された関数をmainが呼び出すとき、
extern void Sample();
とプロトタイプ宣言の後に
Sample();
で呼び出せるみたいなので、

これを使って、
CLibrary.INSTANCE.extern void Sample();
とやってみましたが、コンパイルできませんでした;;
他にやり方がありますか?

知ってる方がいらっしゃいましたら、教えてください。
よろしくお願いします。

投稿日時 - 2010-08-24 12:42:22

QNo.6131871

すぐに回答ほしいです

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

そのCのSample()関数を含んでいる動的リンクライブラリは作ってありますか?
その動的リンクライブラリの名前がxyz.dll (Windowsの場合)/libxyz.so (Linuxなどの場合)だとして、実際には試していませんがこんな感じになると思います。

public interface XYZ extends Library {
public void Sample();
}

XYZ lib = (XYZ)Native.loadLibrary("xyz", XYZ.class);
lib.Sample();

投稿日時 - 2010-08-27 21:17:49

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問