내가 지금이마샬링 된 문자열의 소유권을 가져올 지 여부를 지정하는 방법은 무엇입니까?
MYDLLEXPORT
const char* f1()
{
return "Hello";
}
MYDLLEXPORT
const char* f2()
{
char* p = new char[20];
strcpy(p, "Hello");
return p;
}
과 같은 C++에서 x.dll이 있다고 가정의 강력한 소유권을 CLR을 말할 수있는 방법이 있나요 내가 C#
[DllImport("x.dll")]
public static extern string f1();
[DllImport("x.dll")]
public static extern string f2();
을이을에 사용한다고 가정 f2에서 반환 된 문자열은 아니지만 f1에서 반환 된 문자열입니까? 문제는 f1에서 반환 된 문자열이 결국에는 해제되거나 삭제되거나 GC에 의해 무엇이든지된다는 사실은 f2에서 반환 된 문자열이 그렇지 않다는 사실에도 똑같이 나쁘다는 것입니다. 희망의 질문은 분명했다. 미리 감사드립니다.
감사합니다. 죄송합니다. 일일 한도에 도달 할 수 없으므로 제공하신 링크가 필요합니다. –
@Armen : 내일 다시 올 수 있습니다 ...;) –