1

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

最好的

费边

4

2 回答 2

1

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

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

希望这可以帮助。

于 2018-06-26T16:24:27.990 回答
0

我不相信 azure-iot-sdk-c 可以在只允许静态分配的环境中使用。

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

于 2018-06-26T03:48:08.757 回答