Простое управление памятью в g SOAP клиентах и ​​серверах (особенно серверах) - PullRequest
0 голосов
/ 26 апреля 2020

Я признаю, что иногда просматриваю предыдущие вопросы и думаю, что сталкиваюсь с множеством неконтролируемых ошибок, поэтому постараюсь сделать это кратким.

Если сервер использует soap_new_T ( soap) для выделения (включая soap_new_ptrTo_T (soap) вместо soap_mallo c всякий раз, когда это возможно), кажется не только излишним, но и контрпродуктивным использование soap_end где-либо за пределами soapC. cpp или soapcpp2. cpp.

С другой стороны, что мне еще предстоит попробовать, имеет ли смысл использовать soap_new (soap) для любого выделения, предшествующего запросу SOAP, и использовать soap_end () или какой-либо другой функция / метод по возвращении при вызове из C (++) клиента? Или даже new () / delete () или (m / c) allo c () / free (), в этом отношении?

Какая цель, кроме преждевременного сброса XML , обслуживается soap_end ???

То, что я пытаюсь сделать sh, - это поместить динамическую c память в область g SOAP, чтобы она автоматически освобождалась после того, как ее утилита завершается. Эксперименты показывают, что правильное использование soap_end происходит при необходимости, без моего вмешательства. Я что-то упустил?

...