API
Application Program Interface
운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지를 뜻한다.
POSIX (퍼식스)
Portable Operating System Interface for UniX
이식 가능 운영 체제 인터페이스
1960년대 후반 개발된 UNIX는 다양한 형태로 발전하여, BSD나 System V 등 여러 운영체제로 발전했다.
이러한 다양한 형태의 UNIX 계열 운영체제의 등장은 운영체제 간 호환성과 이식성에 어려움을 주기 시작했다.
서로 다른 UNIX OS의 공통 API를 정리하여 응용 프로그램과 운영체제 간의 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적으로 IEEE 가 책정한 애플리케이션 인터페이스 규격으로 <sys/socket.h> 와 같은 라이브러리를 포함한다.
하드웨어, 운영체제, 공급 업체에 독립적이기 때문에 응용 프로그램의 이식성을 더 쉽게 얻을 수 있기에 개발자가 사용해야 한다.
1991년, 이러한 POSIX 표준을 만족하는 Linux가 탄생했고 아직까지도 오픈소스 소프트웨어로 스마트폰, 임베디드 기기 등 다양한 분야에서 널리 사용되고 있다.
IEEE (아이 트리플 이)
Institute of Electrical and Electronics Engineears
미국 표준 협회(ANSI)에 의해 국가 표준 개발을 위촉받은 미국 전기 전자 학회
ANSI/ISO C언어 표준 (엔시 아이에스오)
처음 C 언어에 대한 마땅한 표준이 없어 Unix와 함께 제공됐던 라이브러리(POSIX)가 사실상 표준이나 마찬가지 였다.
처음 C 언어에 대한 마땅한 표준이 없어 Unix와 함께 제공됐던 라이브러리(POSIX)가 사실상 표준이나 마찬가지 였다. C가 발전하고, 다양한 컴퓨터 시스템에 널리 사용되면서 C 언어는 1983년 미국표준협회(ANSI)에서 새로운 표준을 제안한다.
1989년에 정식으로 채택되었으며, 이 표준(ANSI C)은 C 언어와 C 라이브러리를 함께 정의하고 있다. 1990년, 국제표준화기구(ISO)에서도 C 표준(ISO C)을 채택한다. ISO C와 ANSI C는 사실상 같은 표준을 가리킨다. 흔히 사람들이 ANSI C라고 부르는 것은, ANSI 버전이 더 먼저 나왔기 때문이다.
POSIX C언어 Interface 규격 |
ANSI/ISO C언어 표준 |
<aio.h> <arpa/inet.h> <assert.h> <ctype.h> <dirent.h> <dlfcn.h> <fcntl.h> <fmtmsg.h> <fnmatch.h> <ftw.h> <glob.h> <grp.h> <iconv.h> <langinfo.h> <libgen.h> <monetary.h> <mqueue.h> <ndbm.h> <net/if.h> <netdb.h>
<netinet/in.h> <netinet/tcp.h> <nl_types.h> <poll.h> <pthread.h> <pwd.h> <regex.h> <sched.h> <search.h> <semaphore.h> <spawn.h> <strings.h> <stropts.h> <sys/ipc.h> <sys/mman.h> <sys/msg.h> <sys/resource.h> <sys/select.h> <sys/sem.h> <sys/shm.h>
<sys/socket.h> <sys/stat.h> <sys/statvfs.h> <sys/time.h> <sys/times.h> <sys/types.h> <sys/uio.h> <sys/un.h> <sys/utsname.h> <sys/wait.h> <syslog.h> <tar.h> <termios.h> <trace.h> <ulimit.h> <unistd.h> <utime.h> <utmpx.h> <wordexp.h>
|
<assert.h> <complex.h> <ctype.h> <errno.h>
<fenv.h> <float.h> <inttypes.h> <iso646.h>
<limits.h> <locale.h> <math.h> <setjmp.h>
<signal.h> <stdarg.h> <stdbool.h> <stddef.h>
<stdint.h> <stdio.h> <stdlib.h> <string.h>
<tgmath.h> <time.h> <whcar.h> <wctype.h>
|