Je travaille dans une fonction de langage C qui va être appelé à partir d'une application 4GL progrès et je me suis retrouvé avec les doutes suivants:Progress 4GL qui appelle une fonction C
La fonction C utilise malloc dynamiquement allouer un tableau de caractères et l'idée est que le pointeur qui alloue cette mémoire sera renvoyé au processus Progress 4GL qui a envoyé à l'origine un type de données MEMPTR pour contenir le résultat de la méthode C. Fondamentalement, le MEMPTR de Progress doit être envoyé à la fonction C pour "recevoir" le tableau généré C et l'utiliser quand la fonction lui revient de la fonction de C (passage par référence entre les deux langages où la méthode C "remplit" "la variable de progression MEMPTR).
Ma question est:
Lorsque la fin du processus de progression et la variable memptr est « libéré », est-il libérer la mémoire allouée malloc dans la fonction C ainsi?
et
Si je libérer la mémoire allouée malloc dans la fonction C Je suppose que le processus Progress recevront les données de déchets, Est-ce exact?
Merci pour votre temps et votre aide.
Salutations.