Fiz um programa muito simples para entender. O programa simplesmente soma um
número com outro e está abaixo:

/* INICIO */
#include <R.h>

/* Funcao Principal */
void soma1(double *a, double *b, double *res)
{
     *res = *a + *b;
}
/* FIM */

Depois de gerar o arquivo soma1.dll fiz no R:

dyn.load("soma1.dll")
soma2 <- function(a,b){
.C("soma1", as.double(a), as.double(b), res = a + b)$res
}

O programa está pensado corretamente? Aproveito para pedir desculpas por
aperriar tanto vocês e batendo na tecla só nesse assunto.

Saudações,
Pedro Rafael



Em 26 de agosto de 2011 12:37, beniltoncarvalho [via R-br] <
[email protected]> escreveu:

> Depende apenas do que vc estiver fazendo. .Call() e' conveniente por
> retornar objetos ao R diretamente. O .C() e' legal pq vc pode pegar
> funcoes ja' prontas em C e apenas criar um wrapper (vide GSL). b
> _______________________________________________
> R-br mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=3771222&i=0>
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://r-br.2285057.n4.nabble.com/R-br-Duvida-Invocar-funcoes-C-no-R-tp3768159p3771222.html
>  To unsubscribe from R-br, click 
> here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=cGVkcm8ucmFmYWVsLm1hcmluaG9AZ21haWwuY29tfDMzNTc5ODJ8NTAyMjI0MDYw>.
>
>



-- 
Saudações,
Pedro Rafael Diniz Marinho.
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código 
mínimo reproduzível.

Responder a