Mercurial > pub > dyncall > bindings
changeset 17:739c40f35a6a
- update READMEs
author | cslag |
---|---|
date | Sat, 26 Mar 2016 22:32:59 +0100 |
parents | a40084782546 |
children | 3bfef07b0cd9 |
files | erlang/erldc/README.txt go/godc/README.txt lua/luadc/README.txt lua/luadyncall/README.txt ruby/rbdc/README.txt |
diffstat | 5 files changed, 48 insertions(+), 55 deletions(-) [+] |
line wrap: on
line diff
--- a/erlang/erldc/README.txt Sat Mar 26 22:31:42 2016 +0100 +++ b/erlang/erldc/README.txt Sat Mar 26 22:32:59 2016 +0100 @@ -1,3 +1,6 @@ +dyncall erlang bindings (NIF) + + BUILD/INSTALLATION ==================
--- a/go/godc/README.txt Sat Mar 26 22:31:42 2016 +0100 +++ b/go/godc/README.txt Sat Mar 26 22:32:59 2016 +0100 @@ -4,17 +4,19 @@ BUILD/INSTALLATION ------------------- +================== 1) make sure dyncall is built and libraries/headers are in include paths or - CGO_CFLAGS points to them, etc. + + CGO_CFLAGS points to them, etc. 2) Build this nut with: - go build + + go build API ---- +=== Since go is low level, dyncall's public functions are pretty much exposed function by function. Referg to dyncall(3) and godc.go. @@ -43,7 +45,7 @@ SIGNATURE FORMAT ----------------- +================ Signature string is only used by ArgF function, rest uses type info from Go. @@ -69,8 +71,11 @@ 'Z' | string | void* | string -ToDo: +TODO +==== + - structs - callbacks - callf wrap (argf already there) +- update cconv modes, so they are up to date
--- a/lua/luadc/README.txt Sat Mar 26 22:31:42 2016 +0100 +++ b/lua/luadc/README.txt Sat Mar 26 22:32:59 2016 +0100 @@ -22,6 +22,3 @@ dc.call(f, signature, args... ) - - -
--- a/lua/luadyncall/README.txt Sat Mar 26 22:31:42 2016 +0100 +++ b/lua/luadyncall/README.txt Sat Mar 26 22:32:59 2016 +0100 @@ -3,7 +3,7 @@ Build ------ +===== ./bootstrap ./configure make @@ -11,7 +11,7 @@ Package contents ----------------- +================ dynload dynamic loading of code and resolving of symbols dyncall dynamic call to code @@ -48,5 +48,3 @@ ======================================= make srcpkg - -
--- a/ruby/rbdc/README.txt Sat Mar 26 22:31:42 2016 +0100 +++ b/ruby/rbdc/README.txt Sat Mar 26 22:32:59 2016 +0100 @@ -3,7 +3,7 @@ BUILD/INSTALLATION ------------------- +================== 1) The extension isn't built here, but its code along with dyncall's source is bundled in a .gem file to then be built and installed on the target platform. @@ -13,14 +13,16 @@ do ./dyncall or create a symlink ./dyncall, that points to it. 2) Then, build this gem with: - gem build rbdc.gemspec + + gem build rbdc.gemspec 3) On the target platform, install the gem with: - gem install ../../../rbdc-*.gem + + gem install rbdc-*.gem API ---- +=== l = Dyncall::ExtLib.new l.load(libpath) @@ -32,48 +34,36 @@ SIGNATURE FORMAT ----------------- +================ format: "xxxxx)y" - x is positional parameter-type charcode - - 'B' C++: bool <- Ruby: TrueClass, FalseClass, NilClass, Fixnum - 'c' C: char <- Ruby: Fixnum - 'C' C: unsigned char <- Ruby: Fixnum - 's' C: short <- Ruby: Fixnum - 'S' C: unsigned short <- Ruby: Fixnum - 'i' C: int <- Ruby: Fixnum - 'I' C: unsigned int <- Ruby: Fixnum - 'j' C: long <- Ruby: Fixnum - 'J' C: unsigned long <- Ruby: Fixnum - 'l' C: long long <- Ruby: Fixnum - 'L' C: unsigned long long <- Ruby: Fixnum - 'f' C: float <- Ruby: Float - 'd' C: double <- Ruby: Float - 'p' C: void* <- Ruby: String (check if there are other pointer-convertible ruby types @@@) - 'Z' C: void* <- Ruby: String + x is positional parameter-type charcode, y is result-type charcode - y is result-type charcode - - 'v' C: void -> Ruby: NilClass - 'B' C: bool -> Ruby: TrueClass, FalseClass - 'c' C: char -> Ruby: Fixnum - 'C' C: unsigned char -> Ruby: Fixnum - 's' C: short -> Ruby: Fixnum - 'S' C: unsigned short -> Ruby: Fixnum - 'i' C: int -> Ruby: Fixnum - 'I' C: unsigned int -> Ruby: Fixnum - 'j' C: long -> Ruby: Fixnum - 'J' C: unsigned long -> Ruby: Fixnum - 'l' C: long long -> Ruby: Fixnum - 'L' C: unsigned long long -> Ruby: Fixnum - 'f' C: float -> Ruby: Float - 'd' C: double -> Ruby: Float - 'p' C: void* -> unsupported at the moment @@@ - 'Z' C: void* -> Ruby: String + SIG | FROM RUBY | C/C++ | TO RUBY + ----+-----------------------------------------+--------------------+----------------------------------- + 'v' | | void | NilClass + 'B' | TrueClass, FalseClass, NilClass, Fixnum | bool | TrueClass, FalseClass + 'c' | Fixnum | char | Fixnum + 'C' | Fixnum | unsigned char | Fixnum + 's' | Fixnum | short | Fixnum + 'S' | Fixnum | unsigned short | Fixnum + 'i' | Fixnum | int | Fixnum + 'I' | Fixnum | unsigned int | Fixnum + 'j' | Fixnum | long | Fixnum + 'J' | Fixnum | unsigned long | Fixnum + 'l' | Fixnum | long long | Fixnum + 'L' | Fixnum | unsigned long long | Fixnum + 'f' | Float | float | Float + 'd' | Float | double | Float + 'p' | String (other ruby types? @@@) | void* | unsupported at the moment @@@ + 'Z' | String | void* | String --> Note that signature suffixes used to indicate calling --> conventions, are not supported yet! @@@ +TODO +==== +- support signature suffixes used to indicate calling conventions, are not supported yet! +- C pointer -> ruby... array? +- callback support +