Я работал в какой-то функции языка C, которая будет вызываться из приложения Progress 4GL, и у меня возникли следующие сомнения:
Функция C использует malloc для динамического выделения массива символов, и идея состоит в том, что указатель, который выделяет эту память, будет возвращен процессу Progress 4GL, который первоначально отправил тип данных MEMPTR для хранения результата метода C.
В основном MEMPTR из Progress должен быть отправлен в функцию C, чтобы "получить" сгенерированный массив C и использовать его, когда область возвращается к нему из функции de C (передача по ссылке между обоими языками, где метод C "заполняется" переменная прогресса MEMPTR).
Мои вопросы:
Когда процесс Progress завершается и переменная MEMPTR «освобождается», освобождает ли она также память, выделенную для malloc, в функции C?
и
Если я освобождаю память, выделенную для malloc, в функции C, я предполагаю, что процесс Progress получит данные мусора. Это правильно?
Спасибо за ваше время и помощь.
Привет.