在C++中开发一个返回boost共享指针并将它们用作参数的DLL是否有效?在DLL接口中使用boost :: shared ptr可以吗?
那么,可以导出这样的功能吗?
1.) boost::shared_ptr<Connection> startConnection();
2.) void sendToConnection(boost::shared_ptr<Connection> conn, byte* data, int len);
在特殊:是否跨越DLL边界或引用计数工作会的要求是EXE和DLL使用相同的运行?
其目的是克服对象所有权的问题。因此,当DLL和EXE不再引用它时,该对象被删除。
请注意:如果您正在连接静态CRT,您将遇到问题。静态链接到CRT的每个模块都有自己的堆。如果所有模块链接到DLL CRT,那么它们将共享一个堆。 – Zac 2013-12-03 07:31:48