azure-iot-sdk-c - 在纯静态分配的内存环境中使用 Azure IoT 设备 SDK C
azure-iot-sdk-c - using the Azure IoT device SDK C in pure statically allocated memory environments
是否可以在只允许静态分配 RAM 的环境中使用 Azure IoT 设备 SDK C(否 malloc/free)?
最佳
法比安
我不相信 azure-iot-sdk-c 可以在只允许静态分配的环境中使用。
用于 C 的 Azure IoT 设备 SDK 是用 ANSI C (C99) 编写的,以最大限度地提高可移植性。此功能使库非常适合在多个平台和设备上运行,尤其是在优先考虑最小化磁盘和内存占用的情况下。内存占用包括动态分配(包括 heap/VA)。
azure-iot-sdk-c
在设计时并未考虑静态分配的内存,开箱即用的 SDK 将动态分配内存。话虽如此,只要稍加编码,就有一种方法可以实现类似的功能。在 sdk 中有一个接口 header 在 c-utility include
文件夹中名为 gballoc.h
。
默认所有分配都通过malloc
和free
,但是如果定义了符号GB_USE_CUSTOM_HEAP
,所有分配都会通过这个接口。您可以设置自定义内存分配方案,以您选择的任何方式处理内存分配。
希望对您有所帮助。
是否可以在只允许静态分配 RAM 的环境中使用 Azure IoT 设备 SDK C(否 malloc/free)?
最佳
法比安
我不相信 azure-iot-sdk-c 可以在只允许静态分配的环境中使用。
用于 C 的 Azure IoT 设备 SDK 是用 ANSI C (C99) 编写的,以最大限度地提高可移植性。此功能使库非常适合在多个平台和设备上运行,尤其是在优先考虑最小化磁盘和内存占用的情况下。内存占用包括动态分配(包括 heap/VA)。
azure-iot-sdk-c
在设计时并未考虑静态分配的内存,开箱即用的 SDK 将动态分配内存。话虽如此,只要稍加编码,就有一种方法可以实现类似的功能。在 sdk 中有一个接口 header 在 c-utility include
文件夹中名为 gballoc.h
。
默认所有分配都通过malloc
和free
,但是如果定义了符号GB_USE_CUSTOM_HEAP
,所有分配都会通过这个接口。您可以设置自定义内存分配方案,以您选择的任何方式处理内存分配。
希望对您有所帮助。