【发布时间】:2020-07-25 07:10:38
【问题描述】:
我正在为 Windows 上的本机应用程序 (altv-server.exe) 在 DLL 中嵌入使用 JNI 的 Java VM (JVM)。 JNI_CreateJavaVM 在内部调用_setmode( _fileno(stdin), _O_BINARY ),这会导致进程在继续之前等待 Enter 键输入。函数成功,但等待输入是不可取的。
调用_setmode( _fileno(stdin), _O_BINARY)之前的模式是_O_TEXT。
当使用 /MD 构建 DLL 时会发生此行为。
使用/MDd,从DLL 调用_setmode 不会等待输入,但从jvm.dll 进行的函数调用仍会导致进程等待输入。
服务器是用/MD构建的,因此DLL要求它也用/MD构建。
【问题讨论】:
标签: java c winapi java-native-interface altv