STL容器可以在托管代码和非托管代码之间共享吗?

时间:2013-07-11 19:53:57

标签: visual-studio-2010 clr managed-c++

Visual Studio 2010:

在普通的C ++代码中:

class __declspec(dllexport) Something { // obviously switched in the usual way to import as needed
      std::vector<unsigned short> a_vector;
};

此代码编译为-MDd -Zi并链接到共享库。

然后,一些使用-clr编译的托管C ++代码获取指向Something的指针并尝试从向量中读取。结果非常不幸(不好参考)。在调试器中,Something看起来非常糟糕。

显然,这不是真正的代码。一个包含两个DLL和一个main的自包含示例几乎不会“短”。从各种阅读中,我得知,在“现代”环境中,这应该有效。所以,我错了,或者我需要一些选项调整。

0 个答案:

没有答案