从Java JNI DLL写入std out-输出仅在应用程序退出时出现
我们正在编写一个JNI DLL来包装第三方DLL。 在我们的DLL中,我们正在编写调试语句以标准输出 当我们使用Java应用程序中的DLL时,在应用程序执行期间,不会向Java控制台打印任何内容。当应用程序关闭时,DLL的所有输出都会写入Java控制台 我们希望DLL的输出在应用程序执行时显示在Java控制台上,而不是仅在最后从Java JNI DLL写入std out-输出仅在应用程序退出时出现,java,java-native-interface,Java,Java Native Interface,我们正在编写一个JNI DLL来包装第三方DLL。 在我们的DLL中,我们正在编写调试语句以标准输出 当我们使用Java应用程序中的DLL时,在应用程序执行期间,不会向Java控制台打印任何内容。当应用程序关闭时,DLL的所有输出都会写入Java控制台 我们希望DLL的输出在应用程序执行时显示在Java控制台上,而不是仅在最后 有人知道为什么会发生这种情况吗?在应用程序执行期间,可以做些什么来获取输出?尝试刷新输出。如果不起作用,请将System.out传递到DLL中,并使用此PrintStre
有人知道为什么会发生这种情况吗?在应用程序执行期间,可以做些什么来获取输出?尝试刷新输出。如果不起作用,请将
System.out
传递到DLL中,并使用此PrintStream
而不是stdout
但是
fflush(stdout)
应该足够了。使用stderr
而不是stdout
。