APIdock / Ruby
/
module

DL

ruby latest stable

Module deprecated or moved

This module is deprecated or moved on the latest stable version. The last existing version (v2_1_10) is shown here.

A bridge to the dlopen() or dynamic library linker function.

Example

bash $> cat > sum.c <<EOF
double sum(double *arry, int len)
{
 double ret = 0;
 int i;
 for(i = 0; i < len; i++){
 ret = ret + arry[i];
 }
 return ret;
}
double split(double num)
{
 double ret = 0;
 ret = num / 2;
 return ret;
}
EOF
bash $> gcc -o libsum.so -shared sum.c
bash $> cat > sum.rb <<EOF
require 'dl'
require 'dl/import'
module LibSum
 extend DL::Importer
 dlload './libsum.so'
 extern 'double sum(double*, int)'
 extern 'double split(double)'
end
a = [2.0, 3.0, 4.0]
sum = LibSum.sum(a.pack("d*"), a.count)
p LibSum.split(sum)
EOF
bash $> ruby sum.rb
4.5

WIN! :-)

Constants

ALIGN_CHAR = Document-const

ALIGN_DOUBLE = Document-const

ALIGN_FLOAT = Document-const

ALIGN_INT = Document-const

ALIGN_INTPTR_T = Document-const

ALIGN_LONG = Document-const

ALIGN_LONG_LONG = Document-const

ALIGN_PTRDIFF_T = Document-const

ALIGN_SHORT = Document-const

ALIGN_SIZE_T = Document-const

ALIGN_SSIZE_T = Document-const

ALIGN_UINTPTR_T = Document-const

ALIGN_VOIDP = Document-const

BUILD_RUBY_PLATFORM = Document-const

BUILD_RUBY_VERSION = Document-const

CdeclCallbackAddrs = {}

CdeclCallbackProcs = {}

DLSTACK_SIZE = Document-const

MAX_CALLBACK = Document-const

RTLD_GLOBAL = Document-const: RTLD_GLOBAL\n\nrtld DL:

RTLD_LAZY = Document-const: RTLD_LAZY\n\nrtld DL:

RTLD_NOW = Document-const: RTLD_NOW\n\nrtld DL:

RUBY_FREE = Document-const

SEM = Mutex.new # :nodoc:

SIZEOF_CHAR = Document-const

SIZEOF_DOUBLE = Document-const

SIZEOF_FLOAT = Document-const

SIZEOF_INT = Document-const

SIZEOF_INTPTR_T = Document-const

SIZEOF_LONG = Document-const

SIZEOF_LONG_LONG = Document-const

SIZEOF_PTRDIFF_T = Document-const

SIZEOF_SHORT = Document-const

SIZEOF_SIZE_T = Document-const

SIZEOF_SSIZE_T = Document-const

SIZEOF_UINTPTR_T = Document-const

SIZEOF_VOIDP = Document-const

StdcallCallbackAddrs = {}

StdcallCallbackProcs = {}

TYPE_CHAR = Document-const: TYPE_CHAR\n\nDL:

TYPE_DOUBLE = Document-const: TYPE_DOUBLE\n\nDL:

TYPE_FLOAT = Document-const: TYPE_FLOAT\n\nDL:

TYPE_INT = Document-const: TYPE_INT\n\nDL:

TYPE_INTPTR_T = Document-const: TYPE_INTPTR_T\n\nDL:

TYPE_LONG = Document-const: TYPE_LONG\n\nDL:

TYPE_LONG_LONG = Document-const: TYPE_LONG_LONG\n\nDL:

TYPE_PTRDIFF_T = Document-const: TYPE_PTRDIFF_T\n\nDL:

TYPE_SHORT = Document-const: TYPE_SHORT\n\nDL:

TYPE_SIZE_T = Document-const: TYPE_SIZE_T\n\nDL:

TYPE_SSIZE_T = Document-const: TYPE_SSIZE_T\n\nDL:

TYPE_UINTPTR_T = Document-const: TYPE_UINTPTR_T\n\nDL:

TYPE_VOID = Document-const: TYPE_VOID\n\nDL:

TYPE_VOIDP = Document-const: TYPE_VOIDP\n\nDL:

Files

  • ext/dl/dl.c
  • ext/dl/lib/dl.rb
  • ext/dl/lib/dl/callback.rb
  • ext/dl/lib/dl/cparser.rb
  • ext/dl/lib/dl/func.rb
  • ext/dl/lib/dl/import.rb
  • ext/dl/lib/dl/pack.rb
  • ext/dl/lib/dl/stack.rb
  • ext/dl/lib/dl/struct.rb
  • ext/dl/lib/dl/types.rb
  • ext/dl/lib/dl/value.rb

AltStyle によって変換されたページ (->オリジナル) /