Today I Learned (74) 썸네일형 리스트형 21/09/08 모두를 위한 컴퓨터 과학 (CS50 2019) - 배열 1) 컴파일링 컴파일링 순서 1. preprocessing 라이브러리 포함 2. comiling 소스코드를 머신언어로 변환(어셈블리어) 3. assebling 어셈블리 코드를 오브젝트 코드로 변환 4. linking 여러 개의 파일을 하나로 통합 이 모든 순서를 합쳐서 컴파일링이라고 칭한다. 소스 코드 입력과 출력 사이에 위와 같은 과정을 거치며 컴파일링이 일어난다. 만약, 컴파일링을 거치지 않고 바로 머신코드로 코드를 작성한다면 코드를 학습하는 데 시간이 많이 걸리고 작성하는 데에도 시간이 무척 많이 걸리는 일이 될 것이다. 한마디로 어렵고 귀찮은 일일 것이다. 2) 디버깅 버그의 종류 1. 문법 에러 Syntax error help50 명령어를 .. 21/09/06 모두를 위한 컴퓨터 과학 (CS50 2019) 5) 사용자 정의 함수, 중첩 루프 사용자 정의 함수를 사용하는 것의 장점 : 코드를 간결화하여 코드 읽기가 쉬워진다. 6) 하드웨어의 한계 Y2K 문제 : 연도를 두 자리 수로 저장하는 관습 때문에 1999년에서 2000년으로 넘어가는 때에 정수 오버플로우가 발생했다. 이를 처리하는데 많은 비용이 들었다. 보잉 787 문제 : 비행기 구동 후 248일이 지나면 안전 모드로 진입해서 기내 모든 전력이 끊기는 문제가 있었다. 이 역시 정수 변수의 오버플로우가 발생하였기 때문인데, 주기적으로 재가동해서 문제를 해결해야했다. 이러한 문제를 피하기 위해서는 확장성을 고려해서 설계하는 것이 좋다. 이전 1 ··· 10 11 12 13 다음