
Sim Benilton gerei o arquivo .so com o comando gcc -shared -o arquivo.so arquivo.o. O arquivo.c está localizado na pasta C:\MinGW\bin. Instalei o compilador MinGW!. Primeiramente gerei o executável e o arquivo .o, ou seja, arquivo.exe e arquivo.o. Para gerar os arquivos fui no terminal do Windows e caminhei até o diretório C:\MinGW\bin. Aí pude dar os dois comando: gcc -c arquivo.c e depois fiz gcc -shared -o arquivo.so arquivo.o. Pronto, o arquivo com extensão .SO foi gerado. Depois disso fui no R e mandei ele setar o diretório do arquivo.so que é C:\MinGW\bin, com o comando setwd('C:\\MinGW\\bin'). Depois para mim o que resta é ler o arquivo.so no R. Logo fiz o que segue abaixo e o erro ocorreu.
dyn.load("teste.so") Erro em inDL(x, as.logical(local), as.logical(now), ...) : impossível carregar objeto compartilhado 'C:/MinGW/bin/teste.so': LoadLibrary failure: %1 não é um aplicativo Win32 válido.
O conteúdo do arquivo.c é bem simples só fiz para testar e está logo abaixo: /* 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 */ int main() { int a=5, b=9; printf("\n%d", soma(a,b)); getch(); return 0; } /* Definicao da funcao */ int soma(int a, int b) { return a+b; } Em 25 de agosto de 2011 15:54, beniltoncarvalho [via R-br] < ml-node+3769122-1021070905-223914@n4.nabble.com> escreveu:
qual eh o caminho onde esta o teste.so?
como vc gerou o teste.so?
qual o conteudo do seu teste.c?
e qual eh o resultado de getwd() dentro do R?
b _______________________________________________ R-br mailing list [hidden email] <http://user/SendEmail.jtp?type=node&node=3769122&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... 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.