API [application programming interface] | ||||
| ||||
초금 c언어 교재를 가지고 c언어를 배운다고 해도
우리가 만들수 있는 프로그램은 대개 시커먼 창에 hello world를 찍어내는것에서 크게 나아지지
않습니다.
뭔가 창도 뜨게 하고 싶고 버튼도 만들고 싶은데 막상 C언어 책이라고 있는것에 보면 그런 이야기들은
없고 맨날 if else while 과 같은 키원드와 몇가지 간단한 함수를 이용해서 오늘도 시커먼 창에서
뭔가 찍어보고 있지요...;;;
그런 창이나 버튼은 어떻게 만드는 것일까요? 왜 C언어 책에는 그런 것들이 없을까요?
그런 창이나 버튼은 원래 운영체제에게 "자 내가 창이 하나가 필요하고 그 창에 버튼을 하나만 달아
줬으면 좋겠어"라고 부탁을 해야하는 것입니다.
그런데 아무렇게나 부탁할순 없겠죠...
그래서 그 부탁을 (운영체제 안에)C언어의 함수형태로 만들어 놓고 그 함수를 부르는 로직을 우리는 우리의
프로그램안에 집어 넣습니다. 그러면 운영체제가 그 부탁을 들어주죠
그 함수 형태의 부탁을 API(Aplication programming interface)라고 부르는 것입니다.
그러면 API는 또 운영체제마다 틀리겠죠? 윈도우즈에서 부탁을 하는 방법과 리눅스, 혹은 맥os x에서
부탁하는 방법은 틀리겠죠... 그래서 windows에서 쓰는 api를 32비트 윈도우즈 운영체제는 win32 api라고
부르고 64비트 윈도우즈 운영체제는 win64 api라고 부릅니다.
리눅스나 유닉스 계열에서는 운영체제가 제공하는 이러한 api들은 system call 혹은 sys call 이라고 부르고요...
뭐 api같은 경우 정확하게 말하면 운영체제만이 가질수 있는건 아니지만 님이 보신 api와 mfc라는
문맥상 저정도 뜻이 될듯하네요... -nogaryx 님의 네이버지식글
MFC(Microsoft Foundation Classes 혹은 명동 프라이드 치킨...;;)는 윈도우즈 api를 가지고 프로그램하기에는 좀 빡세다 라고 느끼는 사람들을 위해(windows api의 함수 목록은 대략 2000개 정도 된다고 하더군요...) 상속과 같은 C++의 객체지향적 속성을 이용할수 있도록 만들어 놓은 microsoft visual c++ 전용의 클래스 라이브러리의 이름입니다
'common sense' 카테고리의 다른 글
clustering 이란? (0) | 2011.07.08 |
---|---|
웹로직이란 (0) | 2011.07.03 |
php란 (0) | 2011.04.07 |
컴퓨터 상식용어 (0) | 2011.04.07 |
OSI 7계층 (0) | 2011.04.06 |