[R-br] usar funções em C dentro do objeto DLL
Cleber Borges
klebyn em yahoo.com.br
Seg Nov 26 16:54:27 -02 2018
Olá Cesar e demais
Obrigado pelo comentário.
Lendo mais sobre esse modo de integrar C com R, vi que é pré-requisito
compilar o código C com a lib Rinternals.h ...
Porém eu não tenho como ter acesso ao codigo fonte e somente a dll
pronta. Imagino que a fonte do problema desse ser esse limitante.
Daí parei de tentar.
Mas obrigado pelo comentário de todo modo!
Att.,
Cleber Borges
Em 26/11/2018 15:52, Cesar Rabak escreveu:
> Cleber,
>
> Seu raciocínio no C está correto com o /proviso/ que cadeia szVersion
> tem que estar pré-alocada antes da chamada à função **FDwfGetVersion
> da API do Windows.
>
> Veja na página 7 do manual do SDK que você está usando a documentação
> para a função em questão diz:
>
> <quote>
> FDwfGetVersion(char szVersion[32])
> Parameters:
> - szVersion - Pointer to buffer to receive version string.
>
> The function above is used to retrieve the version string. The version
> string is composed of major, minor, and build numbers (i.e., “2.0.19”).
> </quote>
>
> Você precisa ver na documentação do R como se aloca a cadeia de
> caracteres C compatível *no R* para poder passar o ponteiro para a
> chamada à função.
>
> HTH
> --
> Cesar Rabak
>
>
> On Tue, Nov 20, 2018 at 8:07 AM Cleber N.Borges por (R-br)
> <r-br em listas.c3sl.ufpr.br <mailto:r-br em listas.c3sl.ufpr.br>> wrote:
>
> Olá Daniel e demais
> Bom dia
> O software (dll) é gratuito mas não é open-source portanto não
> tenho as fontes para compilar!
>
> Um detalhe no arquivo "dwf.h" tem a seguinte declaração:
> *// Error and version APIs:*
> DWFAPI BOOL FDwfGetLastError(DWFERC *pdwferc);
> DWFAPI BOOL FDwfGetLastErrorMsg(char szError[512]);
> *DWFAPI BOOL FDwfGetVersion(char szVersion[32]); // Returns DLL
> version, for instance: "3.8.5"*
>
> Imaginei que deveria como retornar uma variável lógica e modificar
> a variável szVersion. Meu chute é correto?
>
> Obrigado pelo comentário.
> Cleber Borges
>
>
>
> Em 19/11/2018 23:18, Daniel Guimarães Tiezzi escreveu:
>> Boa noite Cleber
>>
>> Não seria um problema de compilação do dwf antes do dyn.load()?
>> Vejo que está em uma máquina Windows. Tem algum compilador cc you
>> gcc instalado? Eu não trabalho com Windows, mas talvez possa ser
>> isso.
>>
>> Daniel
>>
>>
>
>
>
> ------------------------------------------------------------------------
> Avast logo <https://www.avast.com/antivirus>
>
> Este email foi escaneado pelo Avast antivírus.
> www.avast.com <https://www.avast.com/antivirus>
>
>
> <#m_-3904356728291830613_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20181126/5884205d/attachment.html>
Mais detalhes sobre a lista de discussão R-br