_setmode( _fileno(stdin), _O_BINARY) 使用 /MD 编译时等待回车键
_setmode( _fileno(stdin), _O_BINARY) waits for Enter key when compiled with /MD
我正在为 Windows (altv-server.exe) 上的本机应用程序使用 JNI 在 DLL 中嵌入 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
.
构建
本机应用程序似乎有一个正在从标准输入读取的线程。调用 _setmode(_fileno(stdin), _O_BINARY)
会导致这种不良行为。
在 _setmode(_fileno(stdin), _O_BINARY)
解决了这个特定问题后启动该线程。
我正在为 Windows (altv-server.exe) 上的本机应用程序使用 JNI 在 DLL 中嵌入 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
.
本机应用程序似乎有一个正在从标准输入读取的线程。调用 _setmode(_fileno(stdin), _O_BINARY)
会导致这种不良行为。
在 _setmode(_fileno(stdin), _O_BINARY)
解决了这个特定问题后启动该线程。