[Go to BBS]
All articles in a thread
SubjectFFICall Extension Module
Article No582
Date: 2008/03/11(Tue) 02:46:26
ContributorAkio Morita
http://sources.redhat.com/libffi/を用いた Foreign Function Interfaceを
実装してみたので公開します

http://acc-physics.kek.jp/SAD/SADrelease/distfiles/FFICall-Rev.1.tar.gz
Size: 5530 bytes
Date: 2008-03-08 20:09:36 JST
Checksum:
  SHA256: b8a44e984456e5c9582f276891c1dd44a176949a299b6c43757540be25d252df
  SHA1:   2ddc427c0e1cc82be65f8541e0c9bcf5310c1a9f
  MD5:    ede790cfab7c45b7f98f80ca7ab0f53d

適切なプロトタイプを与えることで、SADScriptから外部の関数を直接呼び出せます
例えば、printf("FFI test calling printf(%d,%5.2f,%c)\n", 10, 2.1, 43)を呼び出して
その返り値を受け取る例
FFICall[DYNL$LOCAL, "printf", "int", {"char*", "int", "double","char"},
    "FFI test calling printf(%d,%5.2f,%c)\n", 10, 2.1, 43]