방법: /clr 컴파일에 네이티브 형식 사용
업데이트: 2007년 11월
/clr 컴파일에서 네이티브 형식을 정의하고 어셈블리 내에서 이 네이티브 형식을 임의로 사용할 수 있습니다. 그러나 참조된 메타데이터에서 사용할 용도로는 네이티브 형식이 지원되지 않습니다.
각 어셈블리에는 사용할 모든 네이티브 형식에 대한 정의가 포함되어야 합니다.
자세한 내용은 /clr(공용 언어 런타임 컴파일)를 참조하십시오.
예제
이 샘플에서는 네이티브 형식을 정의하고 사용하는 구성 요소를 만듭니다.
// use_native_type_in_clr.cpp
// compile with: /clr /LD
public struct NativeClass {
static int Test() { return 98; }
};
public ref struct ManagedClass {
static int i = NativeClass::Test();
void Test() {
System::Console::WriteLine(i);
}
};
이 샘플에서는 구성 요소를 사용하는 클라이언트를 정의합니다. 컴파일 대상에 정의되지 않은 네이티브 형식에 액세스하려고 하면 오류가 발생합니다.
// use_native_type_in_clr_2.cpp
// compile with: /clr
#using "use_native_type_in_clr.dll"
// Uncomment the following 3 lines to resolve.
// public struct NativeClass {
// static int Test() { return 98; }
// };
int main() {
ManagedClass x;
x.Test();
System::Console::WriteLine(NativeClass::Test()); // C2653
}