1

当 mbed 客户端连接到设备服务器时,如何删除对象及其实例?

目前,我有一个在构造函数中创建对象的类,并将其注册到 mbed 客户端。我还想在调用析构函数时删除这个对象。我正在尝试以下操作:

在构造函数中:

object = M2MInterfaceFactory::create_object(name);
instance = object->create_object_instance();

在析构函数中:

object->remove_object_instance(instance->instance_id());
// delete object;

上面的代码有效,但该对象永远不会从内存中删除。

如果我取消注释调用对象的析构函数的行,那么我的应用程序就会崩溃。我使用 mbed-trace 查看是否有任何错误消息,但找不到任何东西。是从调用析构函数到应用程序崩溃的日志输出。

我正在使用带有 mbed-os 5.4.1 的 Nucleo-F401RE。

4

1 回答 1

0

根据我的观察,您必须先注销,然后再删除接口/资源。

但是,我看到mbed客户端接口在连续销毁后由于某种原因不能创建超过6次;第 7 次客户端无法连接到服务器并返回“M2MIvaildParametersError”。如果有人可以对此发表评论,我将不胜感激?

于 2017-09-13T07:50:12.730 回答