view R/rdyncall/demo/R_malloc.R @ 63:9b6cdffd30dd

- further fixes of inccorect overflow errors for int (and long on LLP64 systems) * prev commit had bugs * added overflow tests for also int, long, long long (for both, lp64 and llp64) - while at it, fixing a reference leak when not using python with utf8 caching
author Tassilo Philipp
date Sun, 19 May 2024 15:33:18 +0200
parents 0cfcc391201f
children
line wrap: on
line source

# Package: rdyncall 
# File: demo/R_malloc.R
# Description: using R's memory allocator directly in R

dynbind("R","R_chk_calloc(ii)p;R_chk_free(p)v;")
malloc <- function(size) 
{
  x <- R_chk_calloc(as.integer(size),1L)
  reg.finalizer(x, R_chk_free)
  return(x)
}

x <- malloc(1024)
x <- NULL
gc()