2009-10-16 3 views
1

Nous écrivons une DLL JNI pour envelopper une DLL tierce. Dans notre DLL, nous écrivons des instructions de débogage à standard out. Lorsque nous utilisons la DLL à partir de notre application Java, rien ne s'imprime dans la console Java pendant l'exécution de l'application. Lorsque l'application est fermée, toute la sortie de la DLL est écrite sur la console Java.Ecriture en sortie de Java JNI DLL - la sortie n'apparaît que lorsque l'application se termine

Nous aimerions que la sortie de la DLL apparaisse sur la console Java lorsque l'application est en cours d'exécution, et non seulement à la fin.

Est-ce que quelqu'un sait pourquoi cela se produit, et que peut-on faire pour obtenir la sortie pendant l'exécution de l'application?

+0

Utilisez 'stderr' à la place de' stdout'. –

Répondre

3

Essayez de vider la sortie. Si cela ne fonctionne pas, passez System.out dans votre DLL et utilisez ce PrintStream au lieu de stdout.

Mais fflush(stdout); devrait suffire.