BLOG main image
전체 (276)
[Computer] (42)
[Programming] (62)
[DBMS] (26)
[Operating System] (21)
[Study English] (8)
[For money] (28)
[Interest] (89)
«   2009/11   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
77889 Visitors up to today!
Today 81 hit, Yesterday 46 hit
'API/MFC'에 해당되는 글 1건
[폭주기관차, 2007/02/25 21:03, [Programming]/Visual C++ API/MFC]
API : Application Programming Interface
MFC : Microsoft Foundation Class

API의 영어의 뜻을 해석해보면 응용 프로그래밍 인터페이스, 프로그래머와 윈도우 응용 프로그램이랑
연결을 해주는 함수들입니다.
윈도우를 생성해주는 함수인 CreateWindow(...), 윈도우 제목을 설정해주는 SetWindowText(...)와
같은 것을 API 함수라 부릅니다.
즉, API는 윈도우 프로그래밍을 할 때 사용하는 윈도우 제어 함수라 보시면 됩니다.

그렇다면 API는 DOS시절 Turbo C와 비슷한 관계가 성립하게 됩니다.
printf를 TextDC등과 같이 그에 대응하는 API함수로만 바꿔주면 됩니다.
그런데 이런 API함수들을 일일이 기억하기도 힘들고(물론 MSDN이란 도움말이 있긴 하지만...;;),
사용법도 까다롭습니다. 그리고 C++부터는 객체지향적으로 바뀌지 않았습니까?
                                                             (완전히 객체지향적이진 않지만 ㅋ)

그래서 나온 것이 바로 MFC입니다.

약자를 보면 알 듯이 Microsoft社(이하 MS)에서 만든 것입니다.
MS에서 개발자들의 편의와 객체지향적인 프로그래밍을 위해 API함수들을 Class로 묶어 놓은 것이 MFC입니다.

예를 들어 파일 처리 클래스로 설명드리겠습니다.
FILE을 처리 하기 위해 필요한 API함수는 CreateFile, WriteFile, ReadFile, CloseHandle등이 쓰이게 되는데
이 함수를 CFILE이란 클래스로 묶어 둡니다.

Class CFILE {
    public:
        CreateFile( ... );
        WriteFile( ... );
        ...
};


이런 식으로 해두면 나중에 프로그래밍을 할 때 CFILE 클래스만 이용하면 파일 입출력을 아주 쉽게할 수 있겠죠.

즉, API가 기초가 되고 이것을 쉽게 사용하기 위해 포장 시킨 것은 MFC라고 보시면 됩니다.

둘의 장점은 비교하면 난해한데, MFC는 개발시간이 단축되지만, API만큼 세말한 처리가 불가능할 수도 있고
API는 필요한 함수만 쓰지만 MFC는 모두 객체화 되어있기 때문에 쓰지 않는 함수까지도 같이 링크가 되어
용량이나 수행 속도에 차이를 보일 수도 있습니다.

우리나라 실무에서는 MFC를 이용하는 경우가 많고 예제도 MFC가 많은 편입니다.
그래도 처음에 하실때는 API부터 하시는게 이해하시기 빠를 겁니다.

그리고 MFC가 API를 기본툴로 만들어졌기 때문에 MFC프로젝트에 API함수를 사용할 수 있고,
API프로젝트 중에도 MFC(Class)를 사용할 수 있습니다.
Trackback Address :: http://kongmks.cafe24.com/trackback/145
Name
Password
Homepage
Secret
*1