簡體   English   中英

Bytebuddy:如何生成本地方法?

[英]Bytebuddy: How to generate a native method?

我有一個界面

public interface Foo {
    int value();
}

我想生成這個接口的實現,其中方法是本機實現的:

        final DynamicType.Unloaded<Foo> load = new ByteBuddy()
            .subclass(Foo.class)
            .name("FooNative")
            .initializer(new LoadedTypeInitializer() {
                @Override
                public void onLoad(final Class<?> type) {
                    System.loadLibrary("foo-native");
                }

                @Override
                public boolean isAlive() {
                    return true;
                }
            })
            .method(ElementMatchers.named("foo"))
            .intercept(/* ??? */)
            .make();

如何使用native修飾符生成空方法

@Override public native int value();

?

您寧願使用defineMethod並向其添加 native 修飾符。 Byte Buddy 會自動檢測到它是一個覆蓋。

然后在下一步中,您設置withoutCode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM