view R/rdc/demo/malloc.R @ 28:edbbd467f50a

python binding: - update to dyncall 1.1 - Python 3 support (supports both, Python 2 and 3) - using the Capsule API over PyCObject, when available - support for python unicode strings (for both, Python 2 and 3) - doc cleanup ruby binding: - doc cleanup
author Tassilo Philipp
date Tue, 07 Apr 2020 21:16:37 +0200
parents 0cfcc391201f
children
line wrap: on
line source

# File: rdc/demo/malloc.R
# Description: sample demo to get malloc/free functions
 
if( .Platform$OS.type == "windows" ) {
 .windir <- paste(Sys.getenv("windir")[[1]],"\\system32\\",sep="")
 .libC <- paste(.windir,"msvcrt",sep="")
} else {
  sysname <- Sys.info()[["sysname"]]
  if (sysname == "Darwin")
  {
  .libC <- "/usr/lib/libc.dylib"
  } else { 
  .libC <- "/lib/libc.so.6"
  }
}

dyn.load(.libC)

bind <- function(name, signature)
{
 address <- getNativeSymbolInfo(name)$address
 assign(name, function(...) rdcCall(address,signature,...), parent.frame() )
}
 
bind("malloc","i)p")
bind("free","p)v")