On Tue, 10 Jan 2006, Sean Davis wrote: > and such. However, the call to the function is via .C; parameters from the > .C call are not being passed correctly to the function. As an example, I > have attached a GDB run of the code. I set a breakpoint on entry to the > function I am calling from R. What is bothering me (and probably causing > the segmentation faults I am seeing) is that the parameter > prm=as.double(c(3.2,1.1)) is not 3.2,1.1 IMMEDIATELY after the call to .C.
Is this compiled with optimization? If so, you can't conclude much from the gdb info as the code can be executed in a different order from how it's written. When I use this example extern "C" void calcStepgram(double *data, double *prm, double *intervals, int *max, int *n,double *plot) { prm[0]=data[0]; return; } if I compile with -g -02 (the default) it looks as though there are problems with initialization like the ones you report, but in fact the function works correctly. If I compile without optimization the initialization looks fine. -thomas ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel