본문 바로가기

Programming30

삽질을 하다가... 디버깅이 어려운 이유는 간단하다. 사람들은 자기가 보고자 하는 것만 보기때문이다. 아는 것만 보려하기 때문이다. 코드의 에러를 예측할 때는 자기가 아는 만큼 안에서 예측을 하게 된다. 고로 경험과 지식, 그리고 이 것들을 지혜로 흡수한 사람은 당연히 디버깅을 잘한다. 결론 : 무식이 죄다. ㅋ /* blah blah blah ... ... ... */ BYTE* buf = new BYTE(14); /* blah blah ... ... ... */ delete [] buf; 어제 런타임 에러가 난 버그가 포함된 코드이다. 분명히 delete [] buf; 이 구문에서 런타임 오류가 나는 걸 바로 잡아냈다. 처음엔 후~ 뻔하지 동적으로 할당한 메모리를 초과해서 내가 무슨 짓을 하였구나~. 그런데 난 절대로 .. 2009. 8. 16.
온라인 상에서 실시간으로 컴파일 해주는 사이트 (http://codepad.org) pgr을 돌아다니다가, 아래의 글을 발견하였다. http://www.pgr21.com/zboard4/zboard.php?id=bug&page=1&sn1=&divpage=11&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=60132 질문자가 남긴 코드는 다음과 같다. #include #include #include #include using namespace std; void main(void) { int iv[10] = {1,2,3,4,5,6,7,5,4,12}; vectorvec(iv,iv+5); vectornvec; vector::iterator iter=vec.begin(); const int val=5; while((iter=find_if(iter,.. 2009. 7. 22.
Great Code - 하드웨어의 이해 GREAT CODE(하드웨어의 이해) 카테고리 컴퓨터/IT 지은이 랜달 하이드 (에이콘출판, 2007년) 상세보기 최근에 질러서 보고 있는 책이다. 필자가 말하고자 하는 바는 다음과 같다. HLL(High Level Language)의 컴파일러가 아무리 똑똑하더라도 H/W(혹은 컴퓨터 아키텍처)에 대한 이해도가 부족한 사람이 작성한 코드는 어찌할 수가 없다. 고로 H/W에 대해 이해를 해야 멋진 코드가 나온다. 나같이 무지한 S/W쟁이가 필수적으로 봐야할 책이 아닌가 싶다. 현재는 6장 메모리 구조와 접근이라는 챕터를 읽고 있다. 폰 노이만 아키텍처의 기본적인 컨셉과, 시스템 버스, 클럭, 메모리 구조, 접근에 관한 문제를 얕지 않으면서도 알기 쉽게 설명하고 있다. 후다닥 독파해버려야지. +_+; 2009. 7. 3.
오묘한 포인터와 배열의 세계 눈컴파일 및 실시간 두뇌 실행을 해봅시다. 거두절미 하고 아래의 소스는 과연 실행이 잘 될까? #include using namespace std; int main() { char str2[] = "abc"; str2[0] = 'A'; cout 2009. 5. 25.