[Rd] R callbacks

Deepayan Sarkar deepayan.sarkar at gmail.com
Tue Apr 3 02:51:23 CEST 2007


Hi,

I'm trying to understand (mostly from the R-exts manual) how to use
the callbacks declared in Rinterface.h. As a first attempt, I'm trying
to redefine ptr_R_WriteConsole in a very trivial manner. Here's my
code:

---------------
$ cat altr.c

int Rf_initialize_R(int ac, char **av);

#define R_INTERFACE_PTRS 1
#include <Rinterface.h>

extern int R_running_as_main_program;

static void my_R_WriteConsole(char *buf, int len)
{
    printf("R<< %s", buf);
}

int main(int ac, char **av)
{
    R_running_as_main_program = 1;
    ptr_R_WriteConsole = my_R_WriteConsole;
    Rf_initialize_R(ac, av);
    Rf_mainloop();
    return 0;
}
---------------

I compile and run this in bash with


RPROG=R

INC=`${RPROG} CMD config --cppflags`
LDF=`${RPROG} CMD config --ldflags`
export LD_LIBRARY_PATH=`${RPROG} RHOME`/lib
gcc -o altr ${INC} ${LDF} altr.c

${RPROG} CMD ./altr

However, my customized version seems not to be used. What am I missing?

-Deepayan



More information about the R-devel mailing list