azure-iot-sdk-c-在纯静态分配的内存环境中使用Azure IoT设备SDK C

时间:2018-06-25 12:57:08

标签: azure-iot-sdk

是否可以在仅允许静态分配RAM(不允许malloc / free)的环境中使用Azure IoT设备SDK C?

最佳

Fabian

2 个答案:

答案 0 :(得分:1)

azure-iot-sdk-c的设计没有考虑静态分配的内存,因此,SDK开箱即用将动态分配内存。话虽如此,只需少量的编码就可以实现类似的功能。在sdk中,c-utility include文件夹中有一个名为gballoc.h的接口头。

默认情况下,所有分配都通过mallocfree,但是如果定义了符号GB_USE_CUSTOM_HEAP,则所有分配都将通过此接口。您可以设置自定义内存分配方案,以选择的任何方式处理内存分配。

希望这会有所帮助。

答案 1 :(得分:0)

我不认为azure-iot-sdk-c可以用于只允许静态分配的环境中。

用于C的Azure IoT设备SDK使用ANSI C(C99)编写,以最大程度地提高可移植性。此功能使这些库非常适合在多个平台和设备上运行,尤其是在优先考虑最小化磁盘和内存占用的情况下。内存占用量包括动态分配(包括堆/ VA)。