hello World problem
On 1/12/2006 10:46 AM, Romain Francois wrote:
Hi,
I'm trying to build a simple R package 'helloWorld' with just one
function that prints 'hello World' on the C side.
I agree that it is completely useless, but I just start mixing R and C.
My C file is as follows :
#include <stdio.h>
void helloWorld() {
printf("hello world !\n") ;
}
When I call it from R, here is what happens :
R> .C("helloWorld", PACKAGE = "helloWorld")
hello world !
list()
is it normal that 'list()' is printed ?
Yes, because that is the return value from .C. If you don't want to print it, you could call invisible(.C( ... )) or, more likely, you'd embed this call in a function that produced its own return value after calling .C(). By the way, you should call Rprintf() rather than printf(), if you want your function to work in environments like Windows Rgui. See the Writing R Extensions manual for the details. Duncan Murdoch