리눅스에 의해 사용되는 GNU C 라이브러리는 컴파일 때 다양한 매크로들의 정의에 의해 라이브러리의 다양한 특징들을 on 시킬 수 있도록 허락한다. 그것들은 다음과 같다.:
_BSD_SOURCE로 정의하면, 부가적인 정의 _FAVOR_BSD는 라이브러리를 위해 정의되어질 것이다. 이것은 POSIX나 SVR4을 통해 선택된 어떤 것에 대해 BSD 행동을 야기시킬 것이다. 예를 들어, _FAVOR_BSD가 정의되면, setjmp와 longjmp가 신호 마스크를 저장할 것이고 getgrp는 PID 아규먼트를 받아들일 것이다. 이장의 앞에서 언급했던 특징들을 위해 BSD-like 행동을 얻기위해 libbsd에 대해 여전히 연결해야함을 주목하라.
리눅스에서, gcc는 자동적으로 당신의 프로그램안에서 사용할 수 있는 많은 매크로를 정의한다. 그것들은 다음과 같다.:
많은 프로그램은 Linux-specific 코드를 둘러싸기 위해 #ifdef linux를 사용한다. 이러한 compile-time 매크로들을 사용하여 존재하는 코드에 리눅스로 프로그램을 포팅하기 위해 필요따른 변화들을 쉽게 포함(include)하거나 배제(exclude)할 수 있다. 일반적으로 리눅스가 더 많은 시스템 V-like 특징들을 지원하기 때문에 시스템 V 또는 BSD를 위하여 작성된 프로그램으로 부터 기본적으로 시작하려면 최선의 코드는 아마도 시스템 V 버전일 것이다.
Copyright (c) 1996,1997 by Euibeom.Hwang & SangEun.Oh All Rights Reserved
Email To:Webmaster ,
Another address
LAST UPDATE Dec 19,1997
Created Dec 19,1997