gpt4 book ai didi

java - 在java中查找 native 函数的源代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:45:21 25 4
gpt4 key购买 nike

我一直在研究如何 java.io.Console实现了 readPassword 函数,我遇到了原生的 echo 函数。出于天生的好奇,我立即着手寻找源代码。我尝试查看 jdk/src/share/native 但无济于事。在进一步谷歌搜索失败后,我求助于您。

我在哪里可以找到 native echo 函数的源代码?

最佳答案

这是http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/windows/native/java/io/Console_md.c

JNIEXPORT jboolean JNICALL
Java_java_io_Console_echo(JNIEnv *env, jclass cls, jboolean on)
{
DWORD fdwMode;
jboolean old;
if (! GetConsoleMode(hStdIn, &fdwMode)) {
JNU_ThrowIOExceptionWithLastError(env, "GetConsoleMode failed");
return !on;
}
old = (fdwMode & ENABLE_ECHO_INPUT) != 0;
if (on) {
fdwMode |= ENABLE_ECHO_INPUT;
} else {
fdwMode &= ~ENABLE_ECHO_INPUT;
}
if (! SetConsoleMode(hStdIn, fdwMode)) {
JNU_ThrowIOExceptionWithLastError(env, "SetConsoleMode failed");
}
return old;
}

关于java - 在java中查找 native 函数的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28173959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com