J'ai travaillé sur l'utilisation d'une bibliothèque C à partir de R en écrivant des fonctions C personnalisées en utilisant la fonctionnalité de la bibliothèque, puis en accédant à ces fonctions C à partir de R à l'aide de l'interface. .Stockage de pointeurs sur des structures C dans R sous forme d'entiers
Dans certains codes C, j'alloue de l'espace pour certaines structures personnalisées et je veux leur stocker des pointeurs dans R afin que je puisse utiliser ces structures dans des appels successifs à .C. En jouant avec la fonction .C, j'ai remarqué que je peux simplement lancer le pointeur sur la structure C vers int et le stocker dans R comme un entier. Passer cet entier à des appels ultérieurs via .C fonctionne bien, je peux garder une trace de mes structures et les utiliser sans problèmes.
Ma question un peu naïve: quel est le problème avec le stockage de ces pointeurs dans des entiers dans R? Cela fonctionne bien, donc je suppose qu'il doit y avoir un inconvénient, mais je n'ai trouvé aucune information à ce sujet.
Je ne suis pas familier avec R, mais lancer un pointeur sur 'int' ne peut que causer des problèmes car' sizeof (void *) 'pourrait être plus grand que' sizeof (int) '. Il y a 'intptr_t' pour ça. – DeiDei