[R-br] RES: [Dúvida] Invocar funções C++ no R

Leandro Marino leandro em cesgranrio.org.br
Sexta Agosto 26 16:44:26 BRT 2011


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 
* leandro em cesgranrio.org.br

 

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: r-br-bounces em listas.c3sl.ufpr.br
[mailto:r-br-bounces em listas.c3sl.ufpr.br] Em nome de Pedro Rafael
Enviada em: sexta-feira, 26 de agosto de 2011 16:34
Para: r-br em listas.c3sl.ufpr.br
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]
<ml-node+3771222-499417778-223914 em n4.nabble.com
<mailto:ml-node%2B3771222-499417778-223914 em n4.nabble.com> > 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
59p3771222.html 

To unsubscribe from R-br, click here
<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscrib
e_by_code&node=3357982&code=cGVkcm8ucmFmYWVsLm1hcmluaG9AZ21haWwuY29tfDMzNTc5
ODJ8NTAyMjI0MDYw> . 





 

-- 
Saudações,

Pedro Rafael Diniz Marinho.

 

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110826/51dc5c1a/attachment.html>


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