[R-br] somar 1+1 mas com R e C

Cleber N.Borges klebyn em yahoo.com.br
Domingo Setembro 20 21:54:30 BRT 2015


Prezados,

Gostaria de uma ajuda em como fazer a soma de 1+1
mas usando a interface entre R e C.

a chamada da função  .Call faz travar e fechar o R.

Agradeço por qualquer ajuda nisso

Cleber

# um CMR (do conceito) abaixo:
################################################
 > texto_code <-"
+ #include <stdlib.h>
+ #include <R.h>
+ #include <Rdefines.h>
+
+ void testef( double *k, double *res )
+ {
+     res = k + 1;
+ }
+ "
 >
 > sink('teste.c')
 > cat( texto_code )
 > sink()
 >
 > system("R CMD SHLIB teste.c")
cygwin warning:
   MS-DOS style path detected: C:/R/etc/x64/Makeconf
   Preferred POSIX equivalent is: /cygdrive/c/R/etc/x64/Makeconf
   CYGWIN environment variable option "nodosfilewarning" turns off this 
warning.
   Consult the user's guide for more details about POSIX paths:
     http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
gcc -m64 -I"C:/R/include" -DNDEBUG 
-I"d:/RCompile/r-compiling/local/local320/include"     -O2 -Wall 
-std=gnu99 -mtune=core2 -c teste.c -o teste.o
gcc -m64 -shared -s -static-libgcc -o teste.dll tmp.def teste.o 
-Ld:/RCompile/r-compiling/local/local320/lib/x64 
-Ld:/RCompile/r-compiling/local/local320/lib -LC:/R/bin/x64 -lR
 > dyn.load( "teste.dll" )
 > is.loaded( 'testef' )
[1] TRUE
 >
 > k=1
 >

############################
##########
#   ( .Call('testef', k=as.double(k), res=as.double(0) ) )
#
#  aqui o R trava e fecha !!!!!!!!!!!!!!!!!!!!!!





---
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus



Mais detalhes sobre a lista de discussão R-br