3种办法:
1.在C++层面,创建一个全局的外部字典变量。您用脚本触发创建对象的C++动作,然后在C++层面把您这个对象存入这个字典里。相当于完全在C++层面管理这个实例。例子:https://gitee.com/dolphindb/DolphinDBPlugin/blob/master/zmq/src/pluginZmq.cpp
代码里有个外部字典:DictionarySP status_dict = Util::createDictionary(DT_STRING, nullptr, DT_ANY, nullptr);
把变量存入里面,就不会析构。
2.在插件类代码里面封一个阻塞的方法,startup.dos启动脚本的末尾就执行它,让startup.dos在C++层面一直阻塞不返回,就不会析构了。
3.把startup.dos的里面的函数提交成job,然job循环执行,job里面的变量也可以不析构。
建议是第一种