순수 가상 메소드(pure virtual method)는 다음과 같이 선언한다. virtual void a() = 0; 순수 가상 메소드가 선언된 클래스에서는 실제 코드는 없이 단지 메소드의 이름만 존재하며, 실제 상속받은 클래스에서 새로 정의하여 사용한다. 추상 클래스(Abstract Class)는 이러한 순수 가상 메소드를 하나 이상 가지고 있는 클래스를 말하며, 추상 클래스라는 이름과 같이 실제 메모리에 인스턴스화 되어 저장되는 ..
객체 지향 언어가 아닌 C언어만 아는 상태라면 static const와 const의 차이점에 대해 잘 모를 수 있다. static const는 객체 지향 언어에 해당하는 C++과 같은 프로그래밍 언어에서 자주 사용하는 상수 선언 방법이다. 그렇다고 일반적으로 C언어에서 사용하는 const를 사용하지 않는것은 아니다. const도 사용하고 static const도 사용한다. 이 두 상수선언방법에는 여러가지 차이점이 있..
임베디드 프로그램을 개발하기 위해서는 반드시 크로스컴파일러가 필요하다. 크로스 컴파일러는 프로그래밍 소스코드를 개발대상 임베디드 시스템에 맞게 컴파일해서 바이너리 파일로 만들어주는 역할을 한다. 윈도우가 설치되어 있는 PC에서 사용하는 C컴파일러는 크로스 컴파일러라고 표현하지 않는다. 즉 MS의 Visual Stuidio.NET은 크로스 컴파일러 도구가 아니다. 크로스 컴파일을 해야 하는 이유는 우리가 소스코드를 개발하기 위해 ..
컴파일(compile)이란 개발자들이 특정한 프로그래밍언어(예를들어 C, C++, Object-C등)을 사용해서 컴퓨터가 이해할 수 있는 기계어 코드(이진코드)로 변환하는 작업을 일컫는다. 좀더 정확하게 말하면, 컴퓨터와 그 컴퓨터에 설치되어 있는 운영체제가 이해할 수 있는 기계어 코드로 변환하는 일이다. 따라서 동일한 컴퓨터라 할지라도 윈도우가 설치되어 있는 컴퓨터와 리눅스가 설치되어 있는 컴퓨터는 같은 애플리케이션이라도 컴파일된 결과물..