ffi を使えば実行時に、引数を構築して関数をコールすることができるようなので、試してみました。 ffi は Foreign Function Interface の略で、使うには libffi と libffi-devel のパッケージが必要になります。

引数の構築の仕方は、もう少し調べる必要があるけれど、汎用化できると便利かも。 これは Linux で使えるものだけれど、他のプラットフォームでも、似たようなものはないものかな。

実行結果

$ ./main
Hello world
return = [12]
return = [Hello world]
  arg1 = [Hello world]

ソースコード

dojo/cc/ffi/puts at master qtakamitsu/dojo GitHub