diff --git a/vala/extern_c/c_code.c b/vala/extern_c/c_code.c new file mode 100644 index 0000000..11c19df --- /dev/null +++ b/vala/extern_c/c_code.c @@ -0,0 +1,7 @@ +#include + +void c_func (gchar *str, + GHashTable *htable) +{ + g_printf ("Do something with str and htable..."); +} diff --git a/vala/extern_c/test.sh b/vala/extern_c/test.sh new file mode 100755 index 0000000..d5f865e --- /dev/null +++ b/vala/extern_c/test.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +cc -c `pkg-config --cflags glib-2.0` c_code.c -o c_code.o +valac -c vala_code.vala +cc *.o -o app `pkg-config --libs glib-2.0 gobject-2.0` diff --git a/vala/extern_c/vala_code.vala b/vala/extern_c/vala_code.vala new file mode 100644 index 0000000..24f93a5 --- /dev/null +++ b/vala/extern_c/vala_code.vala @@ -0,0 +1,8 @@ +extern void c_func (string? str, HashTable hash_func); + +void main () { + stdout.printf ("Hello world!\n"); + + var hash_func = new HashTable (str_hash, str_equal); + c_func ("abc", hash_func); +}