안경잡이개발자

728x90
반응형

  지난 시간에는 Cygwin을 설치하는 방법에 대해 알아보았습니다. 하지만 실제로 Cygwin을 이용해서 C언어 개발을 진행하기 위해서는 g++을 포함한 다양한 패키지를 설치해야 합니다. 따라서 Cygwin에서 C언어 개발 테스트를 하는 방법을 소개하고자 합니다. 아마 기본적으로 Cygwin을 설치만 하셨다면 C언어 관련 라이브러리를 즉시 손쉽게 사용할 수는 없을 겁니다. 정말 기본적인 것들만 설치가 되기 때문입니다. 따라서 다음과 같이 Cygwin 설치 프로그램을 다시 실행하여 원하는 패키지를 선택해 설치하시는 것이 좋습니다.


※ Cygwin 패키지 설치하기 ※



  먼저 위와 같이 카테고리(Category) 영역에서 G++을 검색하셔서 개발 도구를 전체 설치 설정해주도록 합니다.



  이후에 VIM을 거색해서 전체 영역을 다 설치해주도록 합시다.



  이제 설치할 때 위와 같이 설치할 내역이 등장하게 됩니다.



  설치가 정상적으로 진행되는 것을 확인할 수 있습니다.



  설치 이후에는 마찬가지로 바탕화면에서 바로 실행할 수 있도록 합시다.


※ Cygwin 환경변수 설정하기 ※


  이후에 Cygwin 환경변수를 설정해주도록 합시다. '제어판' -> '시스템 및 보안' -> '시스템'에 접속하신 뒤에 '고급 시스템 설정'에 들어갑니다. 여기에서 우리 컴퓨터가 특정한 라이브러리를 쉽게 사용할 수 있도록 설정이 가능합니다.



  이후에 다음과 같이 환경 변수 설정을 해주면 되는데 '시스템 변수'에 들어가서 'Path'를 더블 클릭하여 새롭게 추가해주시면 됩니다.



  더블 클릭합니다.



  이후에 위와 같이 C 드라이브에 Cygwin이 설치된 경로의 bin 폴더를 넣으시면 됩니다.



  환경변수 설정이 끝난 이후에는 모든 창을 닫고 Cygwin 터미널을 여시고 gcc --version을 입력해서 C언어 컴파일러 설치 여부를 확인하시면 됩니다.


※ C++ 개발 테스트하기 ※


  C언어의 문법을 포함하고 있는 C++을 이용해 개발 환경 테스트를 해보도록 하겠습니다.


  Cygwin에서 vi test.cpp을 입력해서 test.cpp 소스코드를 작성해봅시다.



  위와 같이 입력하시면 됩니다.



#include <iostream>

#include <vector>


using namespace std;


int main(void) {

        vector<int> v;

        v.push_back(1);

        v.push_back(3);

        v.push_back(5);

        for(int i = 0; i < v.size(); i++) {

                cout << v[i] << ' ';

        }

}


  이제 위와 같이 간단하게 C++ 벡터 STL을 이용해 출력하도록 프로그램을 작성해봅시다. 참고로 vi 에디터에서 나오실 때는 ESC를 누르시고 :wq를 입력하셔서 저장 및 종료를 해주시면 됩니다.



  위와 같이 g++ test.cpp을 이용해 컴파일한 이후에 ./a.exe를 입력해 실행해봅시다.



  그럼 위와 같이 1 3 5가 정상적으로 출력됩니다.

728x90
반응형

728x90
반응형

  이번 시간에는 윈도우(Windows) 운영체제에서 C언어를 공부하시는 분들을 위해 Cygwin이라는 소프트웨어를 소개하고자 합니다. Cygwin은 윈도우 환경에서 리눅스 환경을 흉내내어 다양한 프로그래밍 실습을 해 볼 수 있도록 해줍니다. C 언어 및 C++을 텍스트 데이터로 열어서 편집하고 리눅스 언어로 컴파일을 하여 실행을 해 볼 수도 있습니다. 바로 한 번 Cygwin을 설치해보도록 합시다.


  ▶ 시그윈 다운로드 사이트 : http://www.cygwin.com/



  위와 같이 사이트에 접속한 이후에 시그윈 설치 부분에서 설치 파일을 다운로드 해주시면 됩니다.



  이후에 위와 같이 설치 프로그램이 실행되는 것을 알 수 있습니다.



  설치를 진행할 때는 인터넷을 통해 진행하시는 것이 간단하고 편할 겁니다.



  위와 같이 설치 경로를 선택한 뒤에 진행하시면 됩니다.




  인터넷 연결을 할 때는 기본 시스템 프록시 설정을 통해 진행하도록 합니다.



  이제 실제로 설치를 하기 위해서 다운로드를 받을 서버를 설정하시면 됩니다. 저는 아무 서버나 선택해서 다운로드를 진행했습니다. 시그윈 자체가 가벼운 프로그램은 아니기 때문에 어떤 것을 선택해도 약 5분 가량의 시간이 소요될 겁니다.



  이제 구체적으로 어떠한 패키지를 설치할 것인지 물어보는데 저는 전체 패키지를 다 선택하도록 하겠습니다.




  이후에 위와 같이 설치를 진행해주시면 됩니다.



  이렇게 설치가 완료되었습니다. 이제 윈도우에서 리눅스 환경을 즐기실 수 있게 되었습니다.

728x90
반응형

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
반응형