Eu tava fazendo seguindo esse vídeo tutorial: http://www.youtube.com/watch?v=WIihUvQwYTA
Em 25 de agosto de 2011 17:05, beniltoncarvalho [via R-br] < [email protected]> escreveu: > Voce vai precisar ler mesmo o material do manual e, para uma versao > expressa, ver as notas de aula que postei no topico ao qual referi-me > anteriormente. > > 1) Minha recomendacao (e de todo mundo que usa R+C) e' vc gerar a > biblioteca usando: > > R CMD SHLIB arquivo.c > > 2) Quando o R conversa com o C, tudo o que o C enxerga sao ponteiros. > Entao, toda a comunicacao C <-> R deve ser feita via ponteiros. > > Dito isso, seu programa precisa ser ligeiramente modificado: > > > /* INICIO */ > /* > Programa: exfun.c > Objetivo; Primeiro exemplo de uso de funcao > Autor: Adriano Cruz > Data: 12/10/97 > */ > #include<stdio.h> > > /* Prototipo da funcao */ > int soma(int, int); > > > /* Funcao Principal */ > void fPrincipal(double *resultado) > { > int a=5, b=9; > resultado[0] = soma(a,b); > } > > /* Definicao da funcao */ > int soma(int a, int b) > { > return a+b; > } > > /* FIM */ > > Depois disso, compile-o usando: > > R CMD SHLIB arquivo.c > > (preste atencao qual arquivo sera' gerado, pq nao to muito certo de > que em Windows sera' um .so, imagino que seja um DLL). > > Carregue o R e use: > > dyn.load("arquivo.dll") > x = .C("fPrincipal", double(1)) > > Abaixo e' o q eu tenho: > > > dyn.load("teste.so") > > x = .C("fPrincipal", as.double(1)) > > x > [[1]] > [1] 14 > > O segundo argumento em .C() que vc ve, e' reservando, no R, memoria > para 1 numero real, que o programa em C usa para gravar a resposta. > > b > _______________________________________________ > R-br mailing list > [hidden email] <http://user/SendEmail.jtp?type=node&node=3769255&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-tp3768159p3769255.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.
