Je développe une fonction dans le paquet C pour R et j'ai besoin d'initialiser le vecteur numérique R dans la mémoire allouée manuellement qui n'est pas récupérée.Comment placer des objets R dans la mémoire allouée manuellement?
La fonction standard allocVector (REALSXP, XXX) alloue de la mémoire pour moi et initialise l'objet. J'ai déjà un morceau de mémoire alloué, j'ai besoin d'initialiser l'objet R dans cette mémoire et de le renvoyer à l'espace utilisateur.
algorithme Je suis en train de suivre
Allouer moi-même la mémoire (en fait il est une mémoire fichier mis en correspondance)
Mettre un objet R (vecteur numérique norme R) dans cette mémoire (Comment?)
Empêcher éboueur d'essayer de le récupérer (Comment?)
Inscrivez-finaliseur pour cet objet
Retour R utilisateur d'objet peut utiliser
Obtenir une notification objet est pas plus référencé et liberer l'objet
alors je dois loin de pirater dans garbage collector R Mon colis n'a pas à être portable -.. il sera exécuté sur une instance dédiée R et matériel – user1987021
n'est pas nécessaire portable est tout à fait Comme dirait Dirk, vous ne pouvez pas faire ce que vous voulez sans un piratage de fantaisie, est-ce possible, oui, quelqu'un va-t-il aller à la limite pour l'expliquer - sans doute pas, j'ai demandé, on m'a montré, et franchement je souhaite ne pas l'avoir vu ;-) Pour le compte rendu, je suis L'auteur de mmap pour R aussi. Bonne chance! –