안경잡이개발자

728x90
반응형

C언어 개발환경 구축하기

나동빈(안경잡이개발자)


비주얼 스튜디오란?


  비주얼 스튜디오(Visual Studio)는 마이크로소프트에서 개발한 통합 개발 환경(IDE)입니다. 비주얼 스튜디오가 지원하는 기능은 매우 강력하고 다양해서 비주얼 스튜디오 하나만 깔아도 사실상 윈도우 응용 프로그램은 어떠한 종류든지 다 만들 수 있을 정도입니다. 우리가 공부할 C언어 문법 및 활용에 대한 학습도 비주얼 스튜디오를 이용해 전혀 어려움 없이 모두 수행할 수 있습니다. (물론 기본적으로 비주얼 스튜디오는 단순한 프로그램보다는 복잡하고 거대한 프로그램 개발에 초점이 맞추어져 있어 C언어보다는 C++이나 C#에 더 유리한 개발환경입니다.)


  실제로 C++ 및 C#을 활용한 그래픽 유저 인터페이스(GUI) 프로그램을 개발할 때도 비주얼 스튜디오가 제일 많이 사용됩니다. 이름부터가 비주얼이니 말 다했습니다. 최근에는 정말 다양한 플랫폼을 지원해서 게임 개발, 그래픽 모듈 개발 등 많은 분야에서 활용이 되고 있습니다. 대학교에서도 단순히 C언어 문법을 공부할 때에도 가벼운 Dev C++, 코드블럭스를 이용하지 않고 굳이 무거운 비주얼 스튜디오를 설치하여 배울 정도니까요. 


  ▶ 비주얼 스튜디오 다운로드 사이트: https://www.visualstudio.com/ko/downloads/



커뮤니티 버전을 다운로드 하시면 용량은 꽤 크지만 성공적으로 다운로드가 진행될 겁니다.



  저는 이전에 설치한 경험이 있기 때문에 위와 같이 나오는 것을 알 수 있습니다. 위와 같이 설치된 이후에 Visual Studio를 실행했을 때 성공적으로 실행 화면까지 나오면 정상입니다.




728x90
반응형

728x90
반응형

C언어의 개요

나동빈(안경잡이개발자)


C언어의 역사


C언어는 유닉스(UNIX) 운영체제를 만들기 위해 처음으로 개발되었습니다. C언어의 창시자는 미국 Bell 연구소의 데니스 리치(Dnnis Ritchie)이며 1978년에 <The C Programming Language>라는 책을 출간했습니다. 이후에 1983년 ANSI 표준 C가 발표되면서 그 구체적인 틀이 잡히게 되었습니다. 이러한 C언어는 최근에 가장 많이 사용되고 있는 Java, C# 등 고급 언어의 원형입니다. 특히 C언어의 문법을 포함하면서 다양한 라이브러리 및 객체 지향 기술을 지원하는 C++도 매력적인 언어 중 하나입니다.


C언어의 개념


프로그램(Program)컴퓨터가 처리할 작업 처리 절차를 의미하며 프로그래밍이란 프로그램을 만드는 행위입니다. 그러한 의미에서 프로그래밍 언어컴퓨터와 의사소통하기 위해 사용하는 언어라고 할 수 있습니다. 프로그래밍 언어로 가장 대표적인 것이 C언어이며 처음 프로그래밍을 입문할 때 가장 많이 접하는 언어이기도 합니다. 더불어 실무에서도 굉장히 많이 사용됩니다. (특히 나중에 시스템 해킹이나 게임 해킹 등을 공부하실 때 C를 모르면 아무것도 분석할 수 없습니다. 알고리즘 대회도 C++이 가장 많이 사용된다는 점을 기억하세요.)


C언어의 특징


1. 다양한 운영체제의 기반이 되는 언어이다.

  → 다시 말해 C를 할 수 있으면 운영체제를 만들 수도 있습니다.


2. 구조적 프로그래밍 언어로 모듈식 구현이 용이하다.

  → 그렇다면 C언어로 객체 지향 프로그래밍을 못 할까요? 원리적으로 불가능한 것은 아닙니다. 구조적 프로그래밍에 적합하다는 것 뿐이지 C언어로 객체 지향 프로그래밍 언어 자체를 개발할만큼 강력합니다.


3. 함수의 집합으로 구성된 함수형 언어입니다.

  → C 프로그램은 main() 함수부터 시작해 다양한 함수를 반복적으로 불러와 실행하고 종료됩니다.


4. 시스템간 호환 및 이식성이 좋다.

  → C언어는 세계적으로 컴퓨터 시스템의 주축이므로 당연한 소리겠지요?


5. 동적메모리 관리 및 하드웨어 제어에 유리하다.

  → C언어는 컴퓨터 메모리에 직접 접근이 가능한 강력한 언어입니다.


6. 고급 및 저급 언어간 인터페이스가 용이하다.

  → 나중에 리버싱 및 보안을 공부하실 때 어셈블리어를 뜯어보시고 이해해보세요.


7. 비트 및 증감연산자 등 풍부한 연산자를 지원한다.

  → 덕분에 비트마스크 기법 및 다양한 숏코딩이 가능합니다.

728x90
반응형