POSIXPOSIX 시작하기


버전

번역 표준 출시 연도
POSIX.1 IEEE Std 1003.1-1988 1988-01-01
POSIX.1b IEEE Std 1003.1b-1993 1993-01-01
POSIX.1c IEEE Std 1003.1c-1995 1995-01-01
POSIX.2 IEEE Std 1003.2-1992 1992-01-01
POSIX.1-2001 IEEE Std 1003.1-2001 2001-12-06
POSIX.1-2004 IEEE Std 1003.1-2004 2004-01-01
POSIX.1-2008 IEEE Std 1003.1-2008 (일명 " Base Specifications, Issue 7 ") 2008-12-01
POSIX.1-2013 IEEE Std 1003.1-2013 2013-04-19
POSIX.1-2016 IEEE Std 1003.1-2016 2016-09-30

POSIX 란 무엇입니까?

POSIX는 " Portable Operating System Interface "의 약자이며 다른 컴퓨팅 플랫폼 간의 호환성을 제공하는 일련의 표준을 정의합니다. 표준의 현재 버전은 IEEE 1003.1 2016이며 OpenGroup POSIX 사양 에서 액세스 할 수 있습니다. 이전 버전에는 POSIX 2004POSIX 1997이 포함 됩니다. POSIX 2016 에디션은 본질적으로 POSIX 2008 플러스 정오표입니다 (POSIX 2013 릴리즈도 있음).

POSIX는 유닉스 계열의 운영체제와 다른 도구를위한 다양한 도구 인터페이스, 명령 및 API를 정의합니다.

다음은 POSIX 표준화의 범위 내에있는 것으로 간주된다.

  • 시스템 인터페이스 (함수, 매크로 및 외부 변수)
  • 명령 인터프리터 또는 Shell ( sh 유틸리티)
  • 유틸리티 (예 : more , cat , ls )

POSIX 범위 외부 :

  • DBMS 인터페이스
  • 그래픽 인터페이스
  • 2 진 코드 이식성

안녕하세요 세계

오류가없는 간단한 Hello, World 프로그램 :

#include <unistd.h> /* For write() and STDOUT_FILENO */
#include <stdlib.h> /* For EXIT_SUCCESS and EXIT_FAILURE */

int main(void) {
        char hello[] = "Hello, World\n";
        
        /* Attempt to write `hello` to standard output file */
        write(STDOUT_FILENO, hello, sizeof(hello) - 1);

        return EXIT_SUCCESS; 
}
 

오류 검사 :

#include <unistd.h> /* For write() and STDOUT_FILENO */
#include <stdlib.h> /* For EXIT_SUCCESS and EXIT_FAILURE */

int main(void) {
        char hello[] = "Hello, World\n";
        ssize_t ret = 0;
        
        /* Attempt to write `hello` to standard output file */
        ret = write(STDOUT_FILENO, hello, sizeof(hello) - 1);

        if (ret == -1) {
                /* write() failed. */
                return EXIT_FAILURE;
        } else if (ret != sizeof(hello) - 1) {
                /* Not all bytes of `hello` were written. */
                return EXIT_FAILURE;
        }

        return EXIT_SUCCESS; 
}
 

컴파일 및 실행 중

위의 코드 (어느 버전)가 hello.c 파일에 저장되어 있으면 c99 또는 make 사용하여 hello 프로그램으로 코드를 컴파일 할 수 있습니다. 예를 들어, 엄격하게 POSIX 호환 모드에서 이론적으로 다음을 사용하여 프로그램을 컴파일하고 실행할 수 있습니다.

$ make hello
c99 -o hello hello.c
$ ./hello
Hello, World
$
 

대부분의 실제 make 구현은 다른 C 컴파일러 (아마도 cc , 아마도 gcc , clang , xlc 또는 다른 이름)를 사용하며 많은 컴파일러가 더 많은 옵션을 사용하게됩니다. 분명히, 당신은 단순히 명령을 입력 할 수 make 명령 줄에서 직접 실행합니다.