2012-03-29 5 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("myStdOut.log", "a", stdout); 

제거를하고 있다면

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

를 제거하고.

+0

안녕하세요. 나는 네가 말한대로해라. 나는 "freopen ..."을 제거했고 콘솔은 이제 출력을 내 보낸다. 하지만 dll에서 콘솔 출력을 리디렉션하고 싶다면 freopen을 사용하지 않으면 어떻게 할 수 있습니까? – slee

+0

나는 당신이하려는 일에 대해 자세하게 알지 못합니다. 콘솔에서 DLL로 리디렉션하는 다른 질문을 게시하고 JNI 코드를 포함시키고 문제에 대한 설명을 작성하십시오. – Java42

관련 문제