티스토리 뷰

학습자료

컴파일러 환경차이에 따른 오류 경험 2

알 수 없는 사용자 2017. 1. 6. 22:54

지난시간에 이어서(코드를 잘 못짜게되면서 쓰게된 글)


글을 쓰게 된 이유 요약

1. 코드를 잘 못짰는데 못찾았음 ಠ╭╮ಠ

2. VS에서 디버깅 해봤는데 돌아가긴 하는데요 좋은건지 나쁜건지??

3. gcc로 하면 오류가 뜨는데?? 당연하겠죠



나의 문제

일단 어찌되었든 저의 눈으로 먼저 찾을 수 있는 문제였습니다 (선 eye.. 디버깅) 그동안 눈이 삐꾸였던거에요

gdb 디버깅을 하면 값을 할당하던 곳에 멈춤니다 (후 gdb 디버깅)

- `음 여기 값의 범위가 잘못되었군`을 알 수 있었죠

  • 2차원 동적할당을 할 때 동적 크기를 잘 못해줌. 이로인해 나머지 동적할당을 제대로 범위대로 할 수 없어짐. (이에 대해서 할말이 있음 - 글을 또 쓰려는 속셈!)

  • 범위를 넘어서게 함으로써 범위에 맞지않은 값 할당 (1로 범위를 시작하기로 했는데 0부터 대입했다던가)

문제를 아니까 해결을 할 수 있었어요



결론

  • 내 머리는 장기기억장치가 아니었다 → 동적할당 할때 명시적형변환을 해주쟈 (또, 이어지는글)
  • Visual Studio, 그의 컴파일러.. 너무 믿지말쟈  :

VC는 동적할당을 잘 못해도(아니 그래 그의 입장에선 잘못이 아닐수도있어 그렇게 할당하고 싶을 수 있지)

메모리를 자동으로 좋게? 할당을 해주는 것 같음 (만든사람 천재?)

  • 일단 오류난거는 명백한 나의 책임이므로
  • 범위를 잘 생각했으면 잘 해주쟈



댓글
«   2024/04   »
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
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크