-
6. C#의 메모리 관리C# 2017. 1. 28. 11:31반응형
인터넷강의 보고 따라하지만.. 강의 내용대로 안되서 다시 정리해 봅니다.
배우면서 쓰는글이기 때문에 정답이 아닐수 있습니다.
C, C++ 과 C#의 차이점 중 하나는 C#은 자동으로 메모리관리를 해준다는게있다.
1. Ctrl + Shift + N 으로 창을 띄우고
콘솔 어플리케이션을 선택해서 프로젝트를 만들자그다음 모두 지우고
위에 처럼 타이핑을 쳐봅시다 그리고 12 번째 라인에 break point 를 지정해봅니다.
(브레이크 포인트는 위 사진의 빨간 점 부분을 클릭하면 지정됩니다.)
그다음 디버깅 모드로 실행합니다.
그 후 , Debug -> Windows -> Memory 클릭합니다.
(만약, 메모리메뉴가 보이지 않는다면 , Tools -> Import and Export Setting -> Reset All Setting 을 해줍니다. (필자의 경우 메모리가 안보여서 ㅠㅜ 세팅을 초기화 해주었다.) )
그리고 위 이미지 처럼 address &mTmp 를 입력하면 자동으로 값이 바뀌어 이동한다.
10진수
16진수
10
0a
0a로 이동된 모습이 보인다.
------------------------------------------------------------------
정리>>
메모리를 닷넷 프레임 워크의 가비지 컬렉터가 defragment 를 수행한다.
그래서 , 하나의 변수가 위치한 메모리상의 주소값이 이제는 더이상 고정적이지 않다.(닷넷이 해주니까!)
그래서 , 주소를 연산하는 포인터를 쓸수도 있지만 unsafe 한 방법을 사용을 해야한다.(닷넷이 해주는데 굳이 할려고하니까!)
반응형'C#' 카테고리의 다른 글
8. C# 상수(데이터 타입) (0) 2017.02.01 7. C#배포시 주의사항 (0) 2017.01.28 5. 닷넷(.NET) 프레임워크란? (0) 2017.01.28 4. C# 웹 어플리케이션 만들기 (0) 2017.01.28 3. C# 윈도우 프로그램 만들기 - button, timer (0) 2017.01.28