如何将C ++ function __construct() {
$this->currentUser = JWTAuth::parseToken()->authenticate();
}
返回给C#代码?
我的方法声明(C ++方面)目前看起来像:
std::vector<std::string>
但我不知道如何获取__declspec(dllexport) std::vector<std::string> __cdecl Initialize(std::vector<std::string> array = {})
或如何将其发送到C ++。
非常感谢任何帮助。
答案 0 :(得分:2)
编组vector
字符串并非易事。
您可以考虑使用C ++ / CLI在C ++和C#之间构建桥接层。
如果您不想使用C ++ / CLI,则有效的替代方法是使用SAFEARRAY
。您可以使用ATL::CComSafeArray
简化C ++中的安全数组编程。
您可能会发现this article on safe arrays on MSDN Magazine有帮助。
您还应该注意字符串编码。如果您为std::string
使用UTF-8,那么您应该转换为SAFEARRAY(BSTR)
或.NET String
类的UTF-16。