Mercurial > pub > dyncall > bindings
view R/rdc/demo/malloc.R @ 29:6cc2b7fc7ea2
bigger pydc update:
- cleanups and refactoring
- python 2 fixes in var conversions (especially w/ respect to int vs long)
- fix to pydc.free() which didn't work at all
- fix to return python bool as actual bool
- test lib covering all conversions (manual verification, though :-/)
author | Tassilo Philipp |
---|---|
date | Wed, 08 Apr 2020 22:17:43 +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")