일단 gunys 님이 답변 하신 내용중에 틀린것이 있어 그것 부터 이야기 드립니다..
API - Application Programming Interface
영어에서도 보듯이 응용 프로그래밍 환경. 윈도우의 라이브러리에서 지원해주는 함수들로 응용해서 프로그래밍을 하는 환경입니다.
MFC - Microsoft Foundation Class
MS사에서 기초적으로 만든 클래스를 지원해줍니다. API를 객체화 했다고 보면 되죠..
C언어를 객체화 해서 C++이 나왔듯이 API를 클래스화 시켜서 많은 기능을 지원해주는 환경입니다.
이 둘은 개발 언어가 아닌 개발 환경입니다. C와 같은 언어가 아니죠
굳이 말을 하자면 Visual C, Visual C++이 언어라 할 수 있고, API와 MFC는 이 언어들이 돌아가는 환경입니다.
돌아가는 구동 방식이라면 윈도우 라이브러리 자체내에서 정의해놓은 함수들이 있습니다.
C를 보시면 printf, scanf 함수들이 미리 정의가 되있듯 라이브러리 자체내에 이런게 어떻게 연결이 되서 구동이 되는지 정의해 놓은 함수들이 있는 겁니다.
그 함수들을 이용해서 프로그래밍을 하는 것이죠.
그냥 지정되있는 함수를 이용해 전달 값, 또는 이름들을 입력해 주신다면 윈도우 내에서 알아서 파일을 불러오고 돌아가는 것입니다.
그러니 윈도우 환경에서 돌아갈것들을 만드신다면 이런 지원되는 것으로 하면 훨씬 더 쉽게 프로그래밍 할 수 있으며 윈도우에서 응용이 더 잘되겠죠..
물론 그 라이브러리하며 함수들 하며 엄청나게 많습니다.
여기까지가 API와 MFC에 대한 간략한 소개였구요..
볼만한 책으로는 gunys님이 추천해주신 가남사의 'Windows API 정복' 책을 보신다면 처음 공부하시는데 많은 도움이 되실 겁니다.
MFC같은 경우는 C++(클래스, 객체)에 대해서 잘 이해하시고 API를 어느정도 다루실 줄 아신다면 사용하시는데 큰 문제는 없으실 겁니다.
지원되는 함수가 조금 달라져서 혼란스럽기도 하지만 MFC가 지원해주는게 API보다 훨씬 간편해서 처음에만 어렵게 접근되지 나중되면 무지 간편하게 가져다 쓸 수 있습니다.
그리고 숙제에 대해서 말씀을 드리자면..
사각형 그리기를 해보셨다 했는데 사각형을 그릴 때 좌표를 입력해 주셨죠?
그런식으로 표를 좌표를 입력해서 그려주시는데 다르게 할것은 좌표를 변수로 주시라는 겁니다.
변수로 주신후에 그 안의 색깔은 배경화면 색 바꾸는것처럼 브러쉬를 이용하는데 바탕화면은 그냥 뿌려주면 됐잖습니까?
사각형 영역을 지정을 해주셔서 브러쉬로 뿌려주시면 표 안에 색깔이 있겠죠?
각 표 영역마다 다른 색깔을 주시고..
좌,우 방향키를 누를 때마다 좌표 이동 방식이 있습니다.
다른 방식으로는 정렬같은 알고리즘은 아실거라 생각합니다. 그걸 응용하시면 되겠습니다.
왼쪽을 눌렀다 하면 맨 왼쪽에 있는 색깔을 어느 변수에 저장을 하고 하나씩 당겨오고..
변수에 저장한 걸 맨 마지막에 넣으면 되겠구요..
안녕하세요
먼저 api, mfc 둘다.. c 를 기반으로 한 windows 프로그램 언어라고 생각하시면 됩니다.
api는 c++ 기반의 언어이고... 거기에 업그레이드 대서... 기본적인 툴을 만들어주는것을
mfc라고 생각하시면 됩니다.
다른예를 들면.. html이란 언어 아시죠?
그것을 일일히 코딩하면 api, 나모 웹 에디터같은 것으로 그림이나 글자를 치면..
그것이 code화 대는것이 mfc..
일단 단순히 이렇게라도 이해하시는것이 도움이 될것입니다.
왜 그림이 나오는지 궁금하시다고 하셧져?
api나 mfc는 ms사에서 제공하는 라이브러리를 사용하는데..
그 라이브러리가.. 그림을 그린다거나.. 윈도우창을 만든다거나.. 등등등을 해줍니다.
결국.. ms사가 자기 windows 개발을 위해서 제공하는 언어이죠...
먼저 배워야 하는 순서는 c > c++ > api > mfc 이런씩이구욤..
흠.. 책은... 가남사에서 나온 "완전정복 api"라는 책을 추천드립니다.
예제위주로 상세히 설명되어 있는 책이니.. 공부하기엔 그리 어렵지 않으실겁니다.
님께서 말씀하신 문제와... 프로그램 돌아가는 방식은.. 그 책에...
다 기술되어있으니.. 공부하는 입장에서 함 보시기 바랍니다.
(사실.. 제가 충분히 찾아서.. 올릴수 있으나.. 귀차니즘 ;; )
그럼 열공하세용!!
'프로그래밍' 카테고리의 다른 글
21.게임회사 면접 (0) | 2009.07.10 |
---|---|
20.그래픽 카드중direct x와 openge가 무엇인가요 (0) | 2009.07.10 |
18.[[이론]] RPG의 종류 (0) | 2009.07.10 |
17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL (0) | 2009.07.10 |
16.DirectX 개론 (0) | 2009.07.10 |