Javadoc for Package java.lang.foreign

Andrew Haley aph-open at littlepinkcloud.com
Thu Jun 2 17:41:17 UTC 2022


Contains this:

var linker = Linker.nativeLinker();
MethodHandle strlen = linker.downcallHandle(
     linker.lookup("strlen").get(),
     FunctionDescriptor.of(ValueLayout.JAVA_LONG, ValueLayout.ADDRESS)
);

try (var session = MemorySession.openConfined()) {
     var cString = MemorySegment.allocateNative(5 + 1, session);
     cString.setUtf8String("Hello");
     long len = (long)strlen.invoke(cString); // 5
}

I can't get it to work:

PanamaExample.java:9: error: cannot find symbol
             (linker.lookup("strlen").get(),
                    ^
   symbol:   method lookup(String)
   location: variable linker of type Linker

Is this an old version of the API?

-- 
Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671


More information about the panama-dev mailing list