-
[C/C++] C언어기초/C,C++ 2017. 2. 8. 09:40
C언어란??
1970년대 운영체제의 개발을 위해서 대니스리치와 켄톰슨에 의해 개발된 시스템
게임을 슈퍼컴퓨터에 옮기기 위해서 개발된 언어
=> 기계마다 운영체제를 작성하는 것을 에로사항을 해결하고자 이식성이 좋고, 호환성이 좋은 언어를 제작하고자 개발된 언어
B언어 ▷ C언어 ▷ 유닉스
저급언어(기계어)
컴퓨터에 대한 명령어를 의미하고 있는 이진수표현
↓
↓
↓
(FORTRAN, COBOL)
어셈블리어
CPU에 대한 명령어들을 영어 약자인 형태로 표현
↓
↓
↓
고급언어
일정 문법 체계에 따른 언어 표현
C, C++, Java......
컴파일러 : 고급 언어 문장을 기계어로 변환
그래서 일반적인 프로그래밍언어는 고급언어라고도 합니다.
특성
절차지향적
일정한 순서대로 진행되는 프로그램
좋은 성능
C에서는 메모리를 직접적으로 관리할 수 있기때문에 대표적인 JAVA언어 보다는 좋은 성능을 낼 수 있습니다.
게임의 말단내부에 들어가면 C,C++를 사용하는것이 대표적인 예가 될수있습니다.
좋은 이식성
▶ 요즘 프로그래밍언어는 이식성이 다뛰어나기때문에 C언어만의 특징이라고 표현할 수는 없겠네요..
간결하고 효율적
▶이것또한 ... 요즘 C언어의 특징이라고는 표현할 수 없겠네요
요구사항분석
↓
알고리즘의 개발
↓
*(코딩)*
↓
컴파일과 링크
↓
실행과 디버깅
↓
유지보수
코딩이 저희가 하는 부분이 되는 거예요!
하지만 큰 프로젝트나 회사에 들어가시면
알고리즘을 고민하면서 푸시면 처음에는 오래걸리실수도 있지만
나중에는 좀 더 효율적으로 프로그래밍을 하실수 있습니다.
확장자(.c .cpp)
.c ▷ C언어로 컴파일
.cpp ▷ C++언어로 컴파일
링크
컴파일된 목적 프로그램을 라이브러리와 연결하여 실행 프로그램을 작성하는 것
실행 파일(.exe)를 생성
링크를 수행하는 프로그램을 링커(linker)라고 하는데
컴파일 안에 다 들어가버려서 자세하게 아실분만 보시면 될것같습니다.
라이브러리
자주 사용되는 것을 미리 작성해둔 것을 모아둔곳
디버깅
소스에 존재하는 오류를 잡는 것
▷프로젝트가 6개월이라고 하시면 설계와 코딩까지 2개월이고
디버깅을 4개월 정도 한다고 합니다.
내가 아무리 완벽하게 코딩했다고 하더라고 예외는 무시할 수 없기떄문에
유지보수를 해야합니다.
유지보수
디버깅 후에도 버그를 잡기위해 계속 관리하는 것
소프트웨어가 개발된 다음에 사용자의 요구가 추가될 수 있기 때문에 관리를 계속해야합니다.
통합 개발 환경
메모장에 저장하고 컴파일한 후 에러가 발생하면 다시 디버깅을 해야하는 것의 귀찮음을 해소하기위해
IDE (Integerated development environment)
에디터 + 컴파일러 + 디버거
ex)
Visual C++
이클립스(eclipse)
Dev-C++
'기초 > C,C++' 카테고리의 다른 글
[C/C++] 특수문자(Escape Sequence), 서식문자, 진법 (0) 2017.02.10 [C/C++] 빌드에서 제외 (0) 2017.02.10 [C/C++] C언어 기본골격 (0) 2017.02.09 [C/C++] C언어 맛보기 (0) 2017.02.08 [C/C++] Visual Studio 설치방법 (0) 2017.02.08