Можно ли использовать SDK C устройства Azure IoT в среде, в которой разрешено только статическое выделение ОЗУ (без malloc/free)?
Лучший
Фабиан
Можно ли использовать SDK C устройства Azure IoT в среде, в которой разрешено только статическое выделение ОЗУ (без malloc/free)?
Лучший
Фабиан
azure-iot-sdk-c
не был разработан с учетом статического выделения памяти, и SDK по умолчанию будет выделять память динамически. С учетом сказанного, с небольшим кодированием есть способ добиться аналогичной функциональности. В SDK есть заголовок интерфейса с именем gballoc.h
в папке c-utility include
.
По умолчанию все распределения проходят через malloc
и free
, но если определен символ GB_USE_CUSTOM_HEAP
, все распределения будут проходить через этот интерфейс. Вы можете настроить пользовательскую схему распределения памяти, чтобы управлять выделением памяти любым удобным для вас способом.
Надеюсь это поможет.
Я не верю, что azure-iot-sdk-c можно использовать в среде, в которой разрешено только статическое распределение.
Пакет SDK для устройств Azure IoT для C написан на языке ANSI C (C99) для обеспечения максимальной переносимости. Эта функция делает библиотеки подходящими для работы на нескольких платформах и устройствах, особенно там, где приоритетом является минимизация дискового пространства и памяти. Объем памяти включает динамические выделения (включая кучу/VA).