NativeCall つらい
GLib とか Gtk を NativeCall で呼び出そうとしてるんだけど、つらい。
C 言語でやるような typedef
はどーやんの?
GLib とかでこーいう感じの gsize
は:
typedef unsinged long gsize;
Perl6 では以下のように constant
る。
constant gsize = uint32;
構造体ってどーすんの?
Perl6 Document に書いてあるけど、こんな風に class
として書くよ!書くよ!
class GtkApplication is repr( 'CStruct' ) { has GtkApplication $.parent; has Pointer $.priv; }
列挙体を渡したい時は?
わからん。
こんな風にやったら、ダメだった:
enum GApplicationFlags ( G_APPLICATION_FLAGS_NONE => 0 ); sub gtk_application_new(Str, GApplicationFlags) returns Pointer[GtkApplication] is native('gtk-3') { * }
is repr('CEnum')
とかできるんだろーか?