
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 16:57, Leandro Marino [via R-br] < ml-node+3771831-993372325-223914@n4.nabble.com> escreveu:
Estou com uma dúvida!****
** **
Se for criar um pacote no R (apenas para uso interno aqui na empresa) com diversas rotinas em C, terei que compilá-lo para cada uma dos OS e arquiteruras? No caso uso Win e Linux (32 e 64)!
****
** **
Atenciosamente, *Leandro Lins Marino** **Centro de Avaliação** **Fundação CESGRANRIO** **Rua Santa Alexandrina, 1011 - 2º andar** **Rio de Janeiro, RJ - CEP: 20261-903** **(** **(21) 2103-9600 R.:236 ** ***** [hidden email]<http://user/SendEmail.jtp?type=node&node=3771831&i=0> *
** **
P* **Antes de imprimir* *pense em sua responsabilidade e compromisso com o* *MEIO AMBIENTE* ****
** **
Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. ****
Portanto, se você recebeu esta mensagem por engano, por favor, nos informe respondendo imediatamente a este e-mail e em seguida apague-a.****
** **
*De:* [hidden email]<http://user/SendEmail.jtp?type=node&node=3771831&i=1>[mailto:[hidden email] <http://user/SendEmail.jtp?type=node&node=3771831&i=2>] *Em nome de *Pedro Rafael *Enviada em:* sexta-feira, 26 de agosto de 2011 16:34 *Para:* [hidden email]<http://user/SendEmail.jtp?type=node&node=3771831&i=3> *Assunto:* Re: [R-br] [Dúvida] Invocar funções C++ no R****
** **
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] <[hidden email]<http://user/SendEmail.jtp?type=node&node=3771831&i=4>> 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-tp37681... ****
To unsubscribe from R-br, click here. ****
****
** **
-- Saudações,****
Pedro Rafael Diniz Marinho.****
** **
_______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=3771831&i=5> 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-tp37681... 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.