在非托管C不能访问++ DLL我有一个功能,这需要不断std::string
作为参数托管C++的std :: string在非托管C++
Prototype : void read (const std::string &imageSpec_)
我传递一个std::string
调用从托管C++ DLL此功能。
当我调试非托管的c + +代码参数imageSpec_
显示正确的值,但不允许我复制该值在其他变量。
imageSpec_.copy(sFilename, 4052);
它显示的imageSpec_
长度为0(零)。
如果我尝试复制像std::string sTempFileName(imageSpec_);
这个语句字符串新字符串是一个空字符串。
但是对于std::string sTempFileName(imageSpec_.c_str());
此语句字符串被正确复制。即用charpointer字符串被正确复制。
复制这种方式将需要非托管C++代码的重大变化。
我正在Visual Studio 6.0中构建非托管代码,并在Visual Studio 2008中管理C++。
托管C++中是否有任何特定设置或代码更改可解决此问题?
它是“托管C++”还是C++/CLI? – xyz 2010-03-12 15:08:00
你确定支持混合使用VC++ 6.0和VC++ 2008对象吗? – AProgrammer 2010-03-12 15:12:54