프로그래밍/프로그래밍일반 스피비 2011. 3. 9. 15:57
메모리 관리 원칙 메모리의 실체는 시스템에 장착되어 있는 RAM이다. 시스템에 따라 RAM 장착양은 다른데 돈이 많은 사람은 자신의 컴퓨터를 위해 많은 RAM을 장착할 것이고 가난한 사람들은 그렇지 못할 것이다. 시스템에 물리적인 RAM이 많이 설치되어 있으면 컴퓨터가 빨라지고 할 수 있는 일이 많아지는 반면 RAM이 작으면 시스템은 느려지고 성능은 떨어진다. RAM은 프로그램이 작업을 하는 작업 공간인데 이 공간이 좁으면 제 성능을 발휘하기 어렵다. 복수 개의 프로그램이 꼭 필요한큼의 메모리를 충돌없이 사이좋게 잘 사용하려면 정교한 메모리 관리 원칙이 필요하다. 메모리 관리는 응용 프로그램이 할 수 없으며 운영체제가 직접 하는데 하드웨어 관리, 스케줄링 등과 함께 운영체제의 주요 임무 중 하나이다. 다..
프로그래밍/프로그래밍일반 스피비 2011. 3. 6. 21:34
냉무 32번==> SP: Space 13번 ==> CR: 엔터 27번 ==> ESC tip 코딩할때 방향키를 나타낼때도 아스키코드를 많이 받는데, 이때는 방향키는 특수키로 입력이 되서 정수가 2개가 들어간다. 하나는 그냥 받아주고 뒤에것으로 조사를 한다! #define LEFT 75 #define RIGHT 77 #define UP 72 #define DOWN 80 char ch; if ( kbhit() ) { ch=getch(); if (ch == 0xE0 || ch == 0) { ch = getch(); switch (ch) { case LEFT: break; case RIGHT: break; case UP: break; case DOWN: break; } } else { ch=tolower(ch);..
프로그래밍/프로그래밍일반 스피비 2011. 2. 4. 21:42
시분할의 필요성 동시에 여러 개의 신호를 이동시키는 루프를 어떻게 설계할 수 있을지 생각해보고 가능한 여러 가지 방법들을 비교해 보자. 세 개의 신호 M1, M2, M3를 동시에 움직이고 싶을 때 다음과 같은 루프를 작성할 수 있다. for (;;) { M1 이동 M2 이동 M3 이동 } 매 루프를 돌 때마다 M1, M2, M3를 한 칸씩 이동시키는 루프인데 이렇게 하면 세 개의 신호가 동시에 이동하기는 하지만 속도가 일정할 것이다. 속도의 차이를 주려면 각 신호가 한 번에 얼마만큼 이동할 것인지를 지정하는 값이 있어야 한다. 이 값을 speed 멤버로 정의하고 각각 1,2,3으로 준다면 M1이 한 칸 움직일 때 M2는 두 칸, M3는 세 칸 움직여 속도의 차이가 발생할 것이다. 그러나 이렇게 되면 속도..
프로그래밍/프로그래밍일반 스피비 2011. 2. 4. 17:11
컴퓨터가 더 많은 일을 하기 위해서는 더 많은 소프트웨어가 필요하며 따라서 프로그래머의 수요는 앞으로도 더욱 더 늘어날 것이다. 컴퓨터로 인해 공장에서는 많은 직원을 채용할 필요가 없어졌지만 컴퓨터를 운영하기 위해서 더 많은 프로그래머가 필요해진 것이다. 은행 창구의 직원은 줄어들었지만 본사의 전산실 직원들이 훨씬 더 많이 늘어났다. 결국 컴퓨터가 산업 전반에 도입됨으로써 사람들의 직장을 뺏어간 것이 아니라 사람의 근무 형태를 바꾸어 놓은 것이다. 현대 사회에서 프로그래머는 더 이상 특수한 직업이 아니다. 보통의 일반적인 직업인이되 컴퓨터를 동작시키는 일을 하는 정신 노동자일 뿐이다. 이상으로 프로그램과 프로그래머의 정의를 내려 보았는데 프로그램의 정의에서 볼 수 있듯이 프로그래머에게는 두 가지 능력이 ..
프로그래밍/프로그래밍일반 스피비 2011. 1. 27. 10:09
1.메모리릭(memory leak) == 메모리 누수 초기화되어있지 않고 사용되지 않는 메모리 즉 메모리가 새는 현상. 메모리가 낭비되는 현상을 말합니다. 프로그래머가 메모리 할당을 해둔채 해지를 하지않을경우 발생을하게됩니다. 이러한 메모리 조각들은 ram의 영역을 차지하게되어 시스템의 전반적인 성능을 감소 시킵니다. 메모리가 새는 현상. 메모리가 낭비되는 현상을 말합니다. 메모리는 한정적인데 프로그램적인 실수로 어떤 동작을 할때 메모리가 낭비가 된다면, 그리고 그 동작이 반복된다면 나중에는 성능적인 손실이 오겠죠. 2.비쥬얼 2008에서 메모리릭 검출하는법 프로그램개발을 시작할때, 메모리릭을 검출할수있는 상태로 만들어 두는것이 좋다. 그중 여기에서는 Visual Leak Detector를 사용한다. 무..