azure-iot-sdk-c — использование пакета SDK C устройства Azure IoT в средах с чистой статически выделенной памятью.

Можно ли использовать SDK C устройства Azure IoT в среде, в которой разрешено только статическое выделение ОЗУ (без malloc/free)?

Лучший

Фабиан


person Fabian    schedule 25.06.2018    source источник


Ответы (2)


azure-iot-sdk-c не был разработан с учетом статического выделения памяти, и SDK по умолчанию будет выделять память динамически. С учетом сказанного, с небольшим кодированием есть способ добиться аналогичной функциональности. В SDK есть заголовок интерфейса с именем gballoc.h в папке c-utility include.

По умолчанию все распределения проходят через malloc и free, но если определен символ GB_USE_CUSTOM_HEAP, все распределения будут проходить через этот интерфейс. Вы можете настроить пользовательскую схему распределения памяти, чтобы управлять выделением памяти любым удобным для вас способом.

Надеюсь это поможет.

person Jelani Brandon    schedule 26.06.2018
comment
Спасибо, хотя это и не то, что я надеялся услышать! :-( - person Fabian; 02.07.2018

Я не верю, что azure-iot-sdk-c можно использовать в среде, в которой разрешено только статическое распределение.

Пакет SDK для устройств Azure IoT для C написан на языке ANSI C (C99) для обеспечения максимальной переносимости. Эта функция делает библиотеки подходящими для работы на нескольких платформах и устройствах, особенно там, где приоритетом является минимизация дискового пространства и памяти. Объем памяти включает динамические выделения (включая кучу/VA).

person Michael Xu - MSFT    schedule 26.06.2018
comment
Спасибо, хотя это и не то, что я надеялся услышать! :-( - person Fabian; 02.07.2018