ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.