小编Nic*_*ick的帖子

ExceptionInInitializerError:在 JNA 中加载 DLL 时超出代码大小限制

我正在尝试在JAVA中加载“nicaiu.dll”以使用NI-DAQ设备获取数据。

我已将本机库“nicaiu.dll”和 C 标头“NIDAQmx.h”转换为 JNAerator 的完整本机绑定。但是当我加载dll时,出现异常:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at TestDAQ.main(TestDAQ.java:151)
Caused by: java.lang.IllegalArgumentException: code size limit exceeded
    at sun.misc.ProxyGenerator.generateStaticInitializer(ProxyGenerator.java:1261)
    at sun.misc.ProxyGenerator.generateClassFile(ProxyGenerator.java:484)
    at sun.misc.ProxyGenerator.generateProxyClass(ProxyGenerator.java:339)
    at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:639)
    at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:557)
    at java.lang.reflect.WeakCache$Factory.get(WeakCache.java:230)
    at java.lang.reflect.WeakCache.get(WeakCache.java:127)
    at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:419)
    at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:719)
    at com.sun.jna.Native.loadLibrary(Native.java:415)
    at com.sun.jna.Native.loadLibrary(Native.java:391)
    at org.xjtu.nidaqmx4j.NicaiuLibrary.<clinit>(NicaiuLibrary.java:29)
    ... 1 more
Run Code Online (Sandbox Code Playgroud)

这是加载dll的代码

Exception in thread "main" java.lang.ExceptionInInitializerError
    at TestDAQ.main(TestDAQ.java:151)
Caused by: java.lang.IllegalArgumentException: code size limit exceeded
    at sun.misc.ProxyGenerator.generateStaticInitializer(ProxyGenerator.java:1261)
    at sun.misc.ProxyGenerator.generateClassFile(ProxyGenerator.java:484)
    at sun.misc.ProxyGenerator.generateProxyClass(ProxyGenerator.java:339)
    at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:639)
    at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:557)
    at java.lang.reflect.WeakCache$Factory.get(WeakCache.java:230)
    at java.lang.reflect.WeakCache.get(WeakCache.java:127)
    at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:419)
    at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:719) …
Run Code Online (Sandbox Code Playgroud)

java reflection jna

5
推荐指数
1
解决办法
724
查看次数

标签 统计

java ×1

jna ×1

reflection ×1