c-wrapperを初めて使った。

これはおもしろいかもしれない。

c-wrapepr?

  • gaucheから他の言語のライブラリを使うためのライブラリ

install

こんな感じで

wget http://homepage.mac.com/naoki.koguro/prog/c-wrapper/c-wrapper-0.5.5.tgz
gauche-package install --install-as=root c-wrapper-0.5.5.tgz

簡単な動作例*1

(use c-wrapper)

(c-load-library "libc")
(c-include "stdio.h")

(define (main args)
  (let ((fp (fopen "greeting.txt" "w")))
    (fprintf fp "Hello, %s\n" "world")
    (fclose fp))

  (printf "greeting.txt is created.\n")
  0)
||
基本的には、Cの型は<c-int>とか<c-array>とか<c-*>という形のクラスになっているみたい。
C側で定義されていた関数は、同じ名前で直接使える。
**リファレンスの生成
docというディレクトリに綺麗なリファレンスがあった。((まだ何となくしか把握してないです><))
>||
cd c-wrapper-0.5.5/doc
make html #htmlのリファレンスを生成。
  • htmlなら make html
  • infoなら make info*2

でそれぞれの形式のドキュメントを手に入れることができた。((extractというgaucheスクリプト)が使われているみたい。)

*1:example/stdio/hello.scmをそのまま掲載

*2:sudo aptitude install texinfoが必要かもしれない。