[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