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]
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-tp3768159p3769122.html
To unsubscribe from R-br, click here.



--
Saudações,
Pedro Rafael Diniz Marinho.