블로그 이미지
송시혁

calendar

1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Notice

Tag

Recent Post

Recent Comment

Recent Trackback

Archive

C언어 첫 단계

file- new(Ctrl + Shift + N) -project (C++ 선택,  win32 Console Application 선택)

위의Name :<Enter_name> 이 부분의 파일 이름을 지정하면 밑에 파란줄 친 부분도 똑같은이름으로 바뀐다. 빨간줄과 파란줄 이름은 반드시 같아야 한다.

이 화면이 뜨면  Next 버튼을 누른다.

이 화면이 뜨는데 어플리케이션 타입지정과 옵션 지정이다. 새로 프로그램을 작성하므로 옵션은 Empty project 빈 문서를 선택하며, 타입은 Console로 지정한다.

 

이 화면에서 왼쪽에 Source Files우클릭, Add ->New item 선택한다.

이 화면에서 C++ File(.cpp) 선택 후, 이름을 지정하는데 파일이름.c를 한다. 이 프로그램 자체는 C++이므로 그냥 파일이름을 지정하면 확장자.cpp가 된다. 이것은 C++ 프로그램이므로 기본적으로 그렇게 지정된다. 그러나 C++에서 C를 작성하는 것이므로 파일이름에 .c를 붙이면 C프로그램을 작성하게 된다. C++과 C는 다른 파일이다!!

 

 

 

소스를 입력하고 main()에 커서를 갖다 놓는다. 그리고 F9를 누른다. 다음과 같이 빨간점이 생성된다.

 

break point 단축키 F9를 계속 누르면 브레이크 포인트를 사라지게 할수도 있고 다시 생성시킬 수 있다. 아니면 마우스로 아래와 같이 한다.

 

 

그리고 다음 F5를 누른다 그러면 디버그 모드가 실행된다.

 

 

위 그림처럼 빨간색 점에 노란색 화살표가 생겨났다. 이것은 디버그 모드이다. 디버그 중에만 실행이 가능한 노란화살표이다.break point( 빨간점)이 없으면 전체가 다 실행되므로 순차적으로 변수값을 알기위해서는 이와같은 방법으로 디버깅하는것이 좋다.

 

 

위의 그림은 밑에 watch창이다. 이 watch창에  name에 변수이름인 icnt를쓴다. 그리고 memory(debug - windows- memory-memory1)를 열어 &icnt라고 친다.

 

 

다음과 같은 화면이 나온다

 

자 이제는 wacth에 name에 isum을 쳐서 memory1에 &isum을 친다. (위스샷은 icnt)

그러면 00x0012FF54가 나올 것이다.

 

제일 앞에서부터 세워 나가면 된다. 54, 55, 56....,59, 5A, 5B....,  60까지 60이 들어가는 자리에서 4자리가 1byte가 된다. 정확히 말하면 4byte. 1비트 하나가 16진수는 4byte이다.

 

노란색 화살표의 위치를 유심히 보자. 그리고 밑에 watch에 value값을 보자. 지금은 이미 for문에서 한 번 F11을 눌러서 디버깅 시킨 상태 그래서 icnt와 isum이 0(빨간색)이 나왔다는 것을 알수 있다.

그리고 한 번 더 실행시키면 화살표가 내려가다가 for문으로 다시 돌아온다.

 

그리고 다시 F11을 누르다 보면 value값이 변하는것을 알수 있다.

이 방법으로 일일이 printf문을 중간에 넣지 않아도 변수값이 그때

그때 변하는 것을 알 수 있다.

 

 

잠깐 주의할 점이 있다. 중간에 printf문이 보인다. 이때는 F10키를 눌러 뛰어넘자

F11로 printf문까지 실행할 경우 이상한 기계어가 뜬다. 그거는 지금 해석 불가능.

아래 그림과 같이 출력이 된다.

 

 

 

 

그리고 다시 디버깅 하고 싶다면 shift + F5키늘 누르면 된다.

posted by 송시혁