2012-03-29 19 views
0

私はJNIを使​​用してWindows上でdllを呼び出します。myeclipseコンソールに出力がないのはなぜですか?

私のJavaコードは以下の通りです。 java code

私のデバッグ情報はこちらです。 debug image

追加情報がnullではないことがわかります。しかし、コンソールは何もせずにddddを出力するだけです。

助けてください。

freopen("myStdOut.log", "a", stdout); 

のようなものを試してみて、元に戻すこと

freopen("CON", "w", stdout); 

を呼び出す

+0

ネイティブコードが何を示しているのか、それともよく分かりますか?たぶん、あなたはstdoutを閉じるでしょうか?おそらくネイティブコードにバグがありますか? – Java42

+0

@ChuckFricano dllでファイル入力と出力を使用しました。ファイル操作が終わったときに閉じました。問題が発生した場合は、 "\t freopen(" CON "、" w "、stdout);"関数の実行の終わりに。 – slee

答えて

1

は、EIDEで仕事に行くのではありません。

freopen("CON", "w", stdout); 

を削除し、あなたが

freopen("myStdOut.log", "a", stdout); 

を行っている場合は、あまりにもそれを削除します。

+0

ねえ、thx。私はあなたが言うようにします。私は "freopen ..."を取り除きました。そして、コンソールは今出力しています。しかし、もし私がdllでコンソールの出力をリダイレクトしたいのであれば、私はfreopenを使わないとどうすればいいですか? – slee

+0

私はあなたがしようとしていることの詳細を完全には知らない。コンソールにDLLをリダイレクトするための別の質問を投稿し、JNIコードを含めて問題の詳細な説明を記入してください。 – Java42

関連する問題