-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
28 lines (27 loc) · 1.36 KB
/
Main.java
File metadata and controls
28 lines (27 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import org.graalvm.nativeimage.IsolateThread;
import org.graalvm.nativeimage.c.function.CEntryPoint;
import org.graalvm.nativeimage.c.type.CCharPointer;
import org.graalvm.nativeimage.c.type.CTypeConversion;
public class Main {
public static void main(String[] args) {
System.out.println("file.encoding:" + System.getProperty("file.encoding"));
System.out.println("UTF-8 text with some international chars:");
System.out.println("äëïöü áéíóú àèiòù Ññ Çç € تيست");
}
@CEntryPoint(name = "print_and_return")
static CCharPointer print_and_return(IsolateThread thread, CCharPointer _in) {
String in = CTypeConversion.toJavaString(_in);
System.out.println("file.encoding:" + System.getProperty("file.encoding"));
System.out.println("String passed as input is:");
System.out.println(in);
return CTypeConversion.toCString(in).get();
}
@CEntryPoint(name = "add_utf8_print_and_return")
static CCharPointer add_utf8_print_and_return(IsolateThread thread, CCharPointer _in) {
String in = CTypeConversion.toJavaString(_in);
System.out.println("file.encoding:" + System.getProperty("file.encoding"));
System.out.println("String passed as input is:");
System.out.println(in);
return CTypeConversion.toCString("“" + in + "”").get();
}
}