(이것도 종종 업데이트 하겠습니다)
VS2010 (Visual Studio 2010) ver 기준으로 썼습니다

1. 런타임 에러가 뜨는데, 디버깅 시 dbgheap 하는 파일을 열어준다

- 메모리 access 잘못한 경우이다. 우선 먼저

1) 메모리 할당/해제는 정상적으로 다 맞는지 확인. (미할당, 중복해제 등의 실수는 흔한 일이다)
2) 저것이 정상적으로 판단되면 프로그램 상에서 쓰레기 값 문제는 없는지 확인.
3) 초기화 다 시켜서 쓰레기는 없다고 판단되면, 할당 공간 밖의 엉뚱한 곳까지
access 시도를 한 것이 문제인 경우가 많다. 이런 경우 메모리 해제시
해제되는 순간 충돌 일어나게 하는 변수가 뭔지 디버깅해서 찾아볼 것.
해당 변수를 처리하는 과정 위주로 찾아보면 길이 보인다.

간혹 변수 이름이 비슷비슷해서 착각하는 경우도 있으니,
정말 안 보이면 잠시 쉬었다가 글씨체와 글자 크기 바꾸고 다시 뚫어져라 화면을 뒤져볼 것.



2. 런타임 에러가 뜨는데, 디버깅 시 os어쩌구 하는 파일을 열어준다
- 메모리 access가 파일 입출력과 연계해서 문제된 경우 가끔 뜬다.

1) 우선 위의 1-1), 1-2) 부터 확인
2) 정상이라고 보이면 fread, fwrite 함수 같은 경우 입출력하는 변수로 할당한 메모리 공간과
처리하라고 한 메모리 양에서 overflow 일어날 상황은 없는지 확인해볼 것.



'Programming Language > C 浪九二智' 카테고리의 다른 글

흔한 버그 상황 대처법  (0) 2011.09.04
C언어의 역사  (0) 2009.05.04
C언어 프로그래밍을 위한 몇 가지 팁  (0) 2009.04.30
Posted by L'ermite L'ermite

초창기의 UNIX 시스템에 포트란 컴파일러를 구현하다가
나중에 B언어를 고안하였고, 이것을 좀 더 개량해서
기계어 코드의 생성, 데이터 타입의 선언, 데이터 구조의 선언 등을 허용하는 C 언어로 발전하였다.

그 후 점차 다양한 C 컴파일러들이 등장하였고, ANSI C라는 C 언어에 대한 표준 규격이 등장하게 되었다.

'Programming Language > C 浪九二智' 카테고리의 다른 글

흔한 버그 상황 대처법  (0) 2011.09.04
C언어의 역사  (0) 2009.05.04
C언어 프로그래밍을 위한 몇 가지 팁  (0) 2009.04.30
Posted by L'ermite L'ermite

저항의 경우

검정 갈색 빨강 주황 노랑 초록 파랑 보라 회색 흰색
  0      1     2     3      4      5     6     7      8     9

4색 저항 기준으로
(첫 번째 색 * 10 + 두 번째 색) * 10^(세 번째 색) Ω

하면 저항의 크기가 대강 나온다.
네 번째 색은 오차 범위. 금색이면 5%, 은색이면 10% 오차.

콘덴서의 경우

세 자리 숫자가 주어질 때
(첫 번째 숫자 * 10 + 두 번째 숫자) * 10^(세 번째 숫자) pF

* 1000 pF = 1 nF, 1000 nF = 1 μF, 1000 μF = 1 mF, 1000 mF = 1 F

저항에서 1Ω은 매우 작은 저항이지만, 콘덴서에서 1F은 매우 큰 축전 용량이다.
콘덴서의 경우 극성이 있는 콘덴서가 있고, 극성이 없는 콘덴서가 있는데
극성이 있는 콘덴서의 경우 다리가 긴 쪽이 + (전위가 높은 쪽), 짧은 쪽이 - (전위가 낮은 쪽)가 되도록
배선하면 된다. 극성을 반대로 연결한 상태에서 과도한 전류가 흐르면 전해 콘덴서의 경우는
폭발하면서 전해액이 튀는 사고가 일어날 수 있으니 극성은 항상 조심하도록 하자.
Posted by L'ermite L'ermite