일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- String
- Hash
- 다익스트라
- two pointer
- Two Points
- Dijkstra
- DP
- Brute Force
- union find
- 이진탐색
- 스토어드 프로시저
- Trie
- binary search
- SQL
- Stored Procedure
- 그래프
- MYSQL
- Today
- Total
codingfarm
1. 윈도우즈 프로그래밍 본문
API(Application Programming Interface)
응용프로그램이 OS의 기능을 편리하게 사용할 수 있도록, OS나 언어에서 제공하는 인터페이스이다. OS가 응용프로그램을 위해 제공하는 함수의 집합이라고도 정의가능하다.
즉, 프로그램끼리 서로 편리하게 소통하게 해주는 수단이라 볼 수 있다. 그러므로 API는 운영체제와 응용프로그램간의 약속이다.
왜 API를 쓰는가/제공하는가?
OS에서 실행되는 응용프로그램은 OS에 종속적일 수밖에 없으므로 OS가 규정한 바대로 하드웨어에 접근해야 한다.
이때 사용자들은 어려운 전문지식 없이 그리고 제공자들은 자신들의 소프트웨어 자산을 숨긴채 사용자들이 OS의 기능을 사용하게끔 해준다.
API의 예
대부분의 개발자들은 하드디스크가 파일을 저장하는 장치라는것은 알지만 하드디스크의 물리적인 구조나 작동방식은 모른다. 설령 알더라도 일일이 제어 명령을 보내 하드디스크를 액세스 하는것은 번거롭고 비효율적이다. 그래서 OS는 하드디스크를 액세스하는 $ReadFile$, $WriteFile$이라는 API 함수를 제공하여 쉽게 엑세스 가능하게끔 한다.
OS에서 제공해주는 것 뿐만 아니라 페이스북, 인스타그램 등의 기업 혹은 공공기관에서 자체 개발하여 제공해주는 Rest API, GraphQL API, 날씨 API등이 존재한다.
API와 비슷한 개념으로 SDK(Software Development Kit)라는 표현이 사용되기도 한다. 원래 SDK는 API를 사용하여 프로그램을 개발하는 개발툴 킷이었으나 지금은 거의 같게 사용된다.
윈도우 API는 그 내용이 너무 방대하므로 모든것을 외울수는 없다. 필요할때 레퍼런스를 잘 활용하도록 하고 자신만의 데이터뱅크를 잘 만들어 놓도록 한다.
요약
- API란?
- 프로그램 개발을 쉽게 하기 위해 제공되는 다양한 기능들의 모음
- Win32 API : 윈도우 프로그램 개발을 편리하게 하기위해 Windows에서 제공해주는 API
- 왜 API를 쓰는가/제공하는가?
- 사용자들은 어려운 전문지식 없이 그리고 제공자들은 자신들의 소프트웨어 자산을 숨긴채 다양한 기능들을 사용/제공하기 위해
- API의 예
- OS API 및 페이스북, 인스타그램 등의 기업 혹은 공공기관에서 자체 개발하여 제공해주는 Rest API, GraphQL API, 날씨 API등
'Windows > 윈도우즈 API' 카테고리의 다른 글
3. 그래픽 출력 (0) | 2020.11.19 |
---|---|
3. 문자열의 출력(TextOut, DrawText) (0) | 2020.11.19 |
3. DC(Device Context) (0) | 2020.11.19 |
2. 다양한 변형 (0) | 2020.11.17 |
2. 기본 윈도우 생성 - 윈도우 생성 과정, 메시지 루프 (0) | 2020.04.27 |