在非託管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