<span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255); ">Fiz um programa muito simples para entender. O programa simplesmente soma um número com outro e está abaixo:<div>
<br></div><div>/* INICIO */</div><div><div>#include <R.h> </div><div><br></div><div>/* Funcao Principal */ </div><div>void soma1(double *a, double *b, double *res) </div><div>{ </div><div>     *res = *a + *b; </div>
<div>} </div><div>/* FIM */</div><div><br></div><div>Depois de gerar o arquivo soma1.dll fiz no R:</div><div><br></div><div><div>dyn.load("soma1.dll")</div><div>soma2 <- function(a,b){</div><div><span style="white-space: pre-wrap; ">      </span>.C("soma1", as.double(a), as.double(b), res = a + b)$res</div>
<div><span style="white-space: pre-wrap; ">       </span>}</div></div><div><br></div><div>O programa está pensado corretamente? Aproveito para pedir desculpas por aperriar tanto vocês e batendo na tecla só nesse assunto.</div><div>
<br></div><div>Saudações,</div><div>Pedro Rafael</div></div><div><br></div></span><br><div class="gmail_quote">Em 26 de agosto de 2011 16:57, Leandro Marino [via R-br] <span dir="ltr"><<a href="mailto:ml-node%2B3771831-993372325-223914@n4.nabble.com">ml-node+3771831-993372325-223914@n4.nabble.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

        












<div>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Estou com uma dúvida!<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">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)!<br>
<br>
<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="color:black">Atenciosamente,<br>
</span><b><span style="font-size:11.0pt;color:#000040">Leandro Lins Marino</span></b><b><span style="font-size:10.0pt;color:#000040"><br>
</span></b><i><span style="font-size:10.0pt;color:gray">Centro de Avaliação</span></i><i><span style="font-size:10.0pt;color:gray"><br>
</span></i><i><span style="font-size:10.0pt;color:gray">Fundação CESGRANRIO</span></i><i><span style="font-size:10.0pt;color:gray"><br>
</span></i><i><span style="font-size:10.0pt;color:gray">Rua Santa Alexandrina, 1011 - 2º andar</span></i><i><span style="font-size:10.0pt;color:gray"><br>
</span></i><i><span style="font-size:10.0pt;color:gray">Rio de Janeiro, RJ - CEP: 20261-903</span></i><i><span style="font-size:10.0pt;color:gray"><br>
</span></i><i><span style="font-size:10.0pt;font-family:Wingdings;color:gray">(</span></i><i><span style="font-size:10.0pt;color:gray"> </span></i><i><span style="font-size:10.0pt;color:gray">(21)
2103-9600 R.:236 </span></i><i><span style="font-size:10.0pt;color:gray"><br>
</span></i><i><span style="font-size:11.0pt;font-family:Wingdings;color:gray">*</span></i><i><span style="font-size:11.0pt;color:gray"> <a href="http://user/SendEmail.jtp?type=node&node=3771831&i=0" rel="nofollow" link="external" target="_blank">[hidden email]</a><u></u><u></u></span></i></p>


<p class="MsoNormal"><span style="font-size:10.0pt;color:#006666"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:18.0pt;font-family:Webdings;color:#76923C">P</span><b><span style="font-size:7.5pt;font-family:"Palatino Linotype","serif";color:#76923C">  </span></b><b><span style="font-size:9.0pt;color:#76923C">Antes de imprimir</span></b><span style="font-size:9.0pt;color:#76923C"> </span><b><span style="font-size:9.0pt;color:#76923C">pense
em sua responsabilidade e compromisso com o</span></b><span style="font-size:9.0pt;color:#76923C"> <b>MEIO AMBIENTE</b></span><span style="font-size:10.0pt;color:#006666"> <u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10.0pt;color:#006666"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:10.5pt;font-family:Consolas;color:#1F497D">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. <u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10.5pt;font-family:Consolas;color:#1F497D">Portanto, se você recebeu esta mensagem por engano, por favor,
nos informe respondendo imediatamente a este e-mail e em seguida apague-a.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"><u></u> <u></u></span></p>

<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">

<p class="MsoNormal"><b><span style="font-size:10.0pt">De:</span></b><span style="font-size:10.0pt">
<a href="http://user/SendEmail.jtp?type=node&node=3771831&i=1" rel="nofollow" link="external" target="_blank">[hidden email]</a> [mailto:<a href="http://user/SendEmail.jtp?type=node&node=3771831&i=2" rel="nofollow" link="external" target="_blank">[hidden email]</a>] <b>Em
nome de </b>Pedro Rafael<br>
<b>Enviada em:</b> sexta-feira, 26 de agosto de 2011 16:34<br>
<b>Para:</b> <a href="http://user/SendEmail.jtp?type=node&node=3771831&i=3" rel="nofollow" link="external" target="_blank">[hidden email]</a><br>
<b>Assunto:</b> Re: [R-br] [Dúvida] Invocar funções C++ no R<u></u><u></u></span></p>

</div><div class="im">

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Fiz um programa muito simples para entender. O programa
simplesmente soma um número com outro e está abaixo:<u></u><u></u></p>

<div>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

<div>

<p class="MsoNormal">/* INICIO */<u></u><u></u></p>

</div>

</div><div><div class="im">

<div>

<p class="MsoNormal">#include <R.h> <u></u><u></u></p>

</div>

<div>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

<div>

<p class="MsoNormal">/* Funcao Principal */ <u></u><u></u></p>

</div>

<div>

<p class="MsoNormal">void soma1(double *a, double *b, double *res) <u></u><u></u></p>

</div>

<div>

<p class="MsoNormal">{ <u></u><u></u></p>

</div>

<div>

<p class="MsoNormal">     *res = *a + *b; <u></u><u></u></p>

</div>

<div>

<p class="MsoNormal">} <u></u><u></u></p>

</div>

<div>

<p class="MsoNormal">/* FIM */<u></u><u></u></p>

</div>

<div>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

<div>

<p class="MsoNormal">Depois de gerar o arquivo soma1.dll fiz no R:<u></u><u></u></p>

</div>

<div>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

<div>

<div>

<p class="MsoNormal">dyn.load("soma1.dll")<u></u><u></u></p>

</div>

<div>

<p class="MsoNormal">soma2 <- function(a,b){<u></u><u></u></p>

</div>

<div>

<p class="MsoNormal"><span>            </span>.C("soma1",
as.double(a), as.double(b), res = a + b)$res<u></u><u></u></p>

</div>

<div>

<p class="MsoNormal"><span>            </span>}<u></u><u></u></p>

</div>

</div>

<div>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

<div>

<p class="MsoNormal">O programa está pensado corretamente? Aproveito para pedir
desculpas por aperriar tanto vocês e batendo na tecla só nesse assunto.<u></u><u></u></p>

</div>

<div>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

<div>

<p class="MsoNormal">Saudações,<u></u><u></u></p>

</div>

<div>

<p class="MsoNormal">Pedro Rafael<u></u><u></u></p>

</div>

<div>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

<div>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

<p class="MsoNormal"><u></u> <u></u></p>

</div><div>

<p class="MsoNormal">Em 26 de agosto de 2011 12:37, beniltoncarvalho [via R-br]
<<a href="http://user/SendEmail.jtp?type=node&node=3771831&i=4" rel="nofollow" link="external" target="_blank">[hidden email]</a>>
escreveu:<u></u><u></u></p><div class="im">

<p class="MsoNormal">Depende apenas do que vc estiver fazendo. .Call() e'
conveniente por <br>
retornar objetos ao R diretamente. O .C() e' legal pq vc pode pegar <br>
funcoes ja' prontas em C e apenas criar um wrapper (vide GSL). b <u></u><u></u></p>

<div>

<p class="MsoNormal" style="margin-bottom:12.0pt">_______________________________________________
<br>
R-br mailing list <br>
<a href="http://user/SendEmail.jtp?type=node&node=3771222&i=0" rel="nofollow" link="external" target="_blank">[hidden email]</a> <br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="nofollow" link="external" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="nofollow" link="external" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo
reproduzível. <br>
<br>
<u></u><u></u></p>

<div class="MsoNormal" align="center" style="text-align:center">

<hr size="1" width="100%" noshade style="color:#CCCCCC" align="center">

</div>

</div>

<div>

<div>

<div>

<p class="MsoNormal"><b><span style="font-size:9.0pt;color:#444444">If you reply to this email, your message will be added to the
discussion below:<u></u><u></u></span></b></p>

</div>

</div>

<p class="MsoNormal"><span style="font-size:9.0pt;color:#444444"><a href="http://r-br.2285057.n4.nabble.com/R-br-Duvida-Invocar-funcoes-C-no-R-tp3768159p3771222.html" rel="nofollow" link="external" target="_blank">http://r-br.2285057.n4.nabble.com/R-br-Duvida-Invocar-funcoes-C-no-R-tp3768159p3771222.html</a>
<u></u><u></u></span></p>

</div>

<div>

<div>

<div style="margin-top:4.8pt">

<p class="MsoNormal"><span style="font-size:8.5pt;color:#666666">To unsubscribe from R-br, <a rel="nofollow" link="external">click here</a>. <u></u><u></u></span></p>

</div>

</div>

</div>

</div></div><div class="im">

<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>

<div>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

<p class="MsoNormal">-- <br>
<span style="color:#000099">Saudações,</span><u></u><u></u></p>

<div>

<p class="MsoNormal"><span style="color:#000099">Pedro Rafael Diniz Marinho.</span><u></u><u></u></p>

</div>

<p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p>

</div></div>

</div><div class="im">




<br>_______________________________________________
<br>R-br mailing list
<br><a href="http://user/SendEmail.jtp?type=node&node=3771831&i=5" rel="nofollow" link="external" target="_blank">[hidden email]</a>
<br><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="nofollow" link="external" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="nofollow" link="external" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.
        
        <br>
        <br>
        <hr noshade size="1" color="#cccccc">
        </div><div style="color:#444;font:12px tahoma,geneva,helvetica,arial,sans-serif"><div class="im">
                <div style="font-weight:bold">If you reply to this email, your message will be added to the discussion below:</div>
                </div><a href="http://r-br.2285057.n4.nabble.com/R-br-Duvida-Invocar-funcoes-C-no-R-tp3768159p3771831.html" target="_blank">http://r-br.2285057.n4.nabble.com/R-br-Duvida-Invocar-funcoes-C-no-R-tp3768159p3771831.html</a>
        </div><div><div></div><div class="h5">
        <div style="color:#666;font:11px tahoma,geneva,helvetica,arial,sans-serif;margin-top:.4em">
                
                To unsubscribe from R-br, <a href="http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=cGVkcm8ucmFmYWVsLm1hcmluaG9AZ21haWwuY29tfDMzNTc5ODJ8NTAyMjI0MDYw" target="_blank">click here</a>.
        </div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><font color="#000099">Saudações,</font><div><font color="#000099">Pedro Rafael Diniz Marinho.</font></div><font color="#000099"><br></font><br>