
26 Ago
2011
26 Ago
'11
22:39
Exato, o .Call() oferece uma melhor interface com o R e tambem permite que vc retorne objetos para o R. O lance do PROTECT() e' pq o R possui um sistema de "garbage collection", entao se vc nao proteger a sua variavel em C (via .Call) o R vai acabar "limpando" o espaco de memoria usado pelo C e coisas inesperadas vao acontecer. O legal de usar .C(), como eu comentei anteriormente e voce notou, e' que voce pode fazer seu programa C independente do R... dai', se for usar com o R, e' apenas dar-se ao trabalho de criar uma funcaozinha que receba os ponteiros do R e passe os argumentos apropriados para a funcao C. b