31 C# 불안전 코드와 비관리 코드
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

불안전 코드와 비관리 코드

불안전 코드(Unsafe Code)

unsafe 키워드

포인터 사용

비관리 코드(Unmanaged Code)

RCW(Runtime Callable Wrapper)

본문내용

불안전 코드(Unsafe Code)
C#은 포인터 연산이나 스택 기반의 배열 등 C/C++에서 주로 사용되는 프로그래밍 요소들을 지원하지만 사용하지 않을 것을 권고
비관리 코드(Unmanaged Code)
.NET Runtime에 의해서 관리되지 않는 코드
.NET Application의 실행 쓰레드가 비관리 코드의 구역으로 들어가면 .NET Runtime은 코드가 수행하는 작업을 더 이상 제어하지 않고 가베지 콜렉션이나 보안상의 역할도 수행하지 않는다.
C#은 가베지 콜렉터와 reference를 사용하기 때문에 개발자가 직접 메모리 관리를 하지 않는다.
하지만 메모리에 직접 엑세스하고자 한다면 포인터를 사용해야 한다.
포인터를 사용하는 경우
빠른 성능을 요구하는 경우
외부 DLL을 사용하려면 파라메터로 포인터를 전달해야 하는 경우
메모리 주소와 정보를 출력하려는 경우
포인터 사용을 자제해야 하는 이유
코드의 문법이 복잡하게 된다.
포인터 연산은 어려우며 버그를 만들어 놓을 수 있다.
다른 변수 영역을 침범하여 프로그램이 다운될 수 도 있다.
unsafe int GetValue(){ …… } // member method 에 적용
unsafe class MyClass{ …… } // class 나 struct 의 모든 member에 적용
class MyClass{
unsafe int *p1; // 특정 member field에 만 적용
}
unsafe{ // 특정 코드 블록만 적용
// 포인터 사용 코드

키워드

  • 가격300
  • 페이지수8페이지
  • 등록일2008.04.01
  • 저작시기2008.2
  • 파일형식파워포인트(ppt)
  • 자료번호#459164
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니