레거시 관리되는 C++ dll이 있는데 관리되는 유형을 반환하는 일부 함수를 호출해야합니다.dll에서 clr 매개 변수가있는 내보내기 함수?
관리되는 형식이없는 dllexports를 들어,이 쉽고, 난 그냥 이런 헤더에 내 정적 C (++) 함수를 정의 :
extern "C"
{
__declspec(dllexport) int __cdecl InitSystem();
}
하지만 지금은 정적 C는 (++) 함수는 반환해야 여기에는 문제가 있습니다. I (예를 들어)하려고하면 :
extern "C"
{
__declspec(dllexport) System::Collections::Generic::List<System::String^>^ __cdecl InitSystem();
}
을 나는 컴파일러 오류를 (함수 정의의 요구가 서명을 __clrcall) 얻을.
DLL이 어셈블리가 아니기 때문에 (.) 생각합니다. 저는 .net/clr 매개 변수를 사용하여 간단한 함수 호출을 내보내는 방법에 약간의 손실이 있습니다. 이것은 아마 간단하고 나는 다만 틀린 방향에서보고있다?