관리되는 래퍼 클래스를 friend로 선언하기

  • Post author:
  • Post category:
  • Post comments:2 Comments
  • Post last modified:November 11, 2008
// native.h
class NativeClass
{
#ifdef __cplusplus_cli
	friend ref class ManagedClass;
#endif

private:
	int PrivateMethod();
};

// managed.h
ref class ManagedClass
{
private:
	int PrivateMethod()
	{
		return m_NativeObj->PrivateMethod();
	}

	NativeClass* m_NativeObj;
}

핵심은 __cplusplus_cli 키워드다. 이 키워드가 없어도 되지 않냐? 이렇게 생각하기 쉬운데 그렇지 않다. 네이티브 컴파일러는 ref 키워드를 모른다. 그래서 네이티브 컴파일러가 이 헤더 파일을 참조할 때 반드시 __cplusplus_cli 키워드가 있어야 한다. 그렇지 않으면 컴파일 오류가 난다.

Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
follow me
Follow @andromedarabbit – >
  • RT @boraleekil: 제목이 정말 멋지다. “혹시 아동성착취를 찬성하나요?” https://t.co/PK7VjZavj2
    15 hours ago
  • RT @sunbaelee: 그 좋아하는 외신 보도 시작됐다. “한국, 아동 성착취 사이트 운영자 미국 인도 거부. 세계 수사기관이 공조, 사이트 이용자를 추적해 12개국 수백 명을 체포했으며 대부분은 한국인이었다.” 세계의 정의로운 노력조차 수포로…
    18 hours ago
  • 후원해야겠군 https://t.co/bIGb7rDOAs
    18 hours ago
Buy me a coffeeBuy me a coffee
×
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
Latest Posts