JVM 在代理库中找不到 Agent_OnLoad

问题描述 投票:0回答:1

我正在编写一个 Java 代理库。但是,即使我在 C++ 代码中显式导出了

Agent_OnLoad
函数,JVM 也无法找到它。

extern "C" {
    JNIEXPORT jint JNICALL
        Agent_OnLoad(JavaVM* vm, char* options, void* reserved)
    {
        return JNI_OK;
    }
}

然后它会说

Could not find Agent_OnLoad function in the agent library: ./FuncTest.dll
。启动命令行是
java -agentpath:./FuncTest.dll -jar .\helloworld.jar

使用 Visual Studio 2022、Corretto 17.0.8

java c++ jvm javaagents
1个回答
0
投票

名称修饰应用于导出的函数名称。请参阅如何指定 DLL 导出的“干净”名称?以获取详细答案。

© www.soinside.com 2019 - 2024. All rights reserved.