> 백엔드 개발 > C++ > 본문

GCC로 컴파일할 때 \'-stdlib=libstdc \'를 언제 지정해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-10-24 02:20:02
원래의
440명이 탐색했습니다.

When to Specify

-stdlib=libstdc를 사용하는 경우

gcc로 컴파일할 때 -stdlib=libstdc 플래그는 사용할 C 표준 라이브러리를 지정합니다. 대부분의 경우 컴파일러는 자동으로 GNU C 라이브러리인 libstdc를 기본값으로 사용합니다. 그러나 -stdlib=libstdc 를 명시적으로 지정해야 하는 경우가 있습니다.

컴파일러별 동작

Linux에서 모든 주요 배포판은 libstdc를 기본 C 라이브러리 및 최신 GCC 버전은 기본적으로 C 11을 지원합니다. C 11 코드를 컴파일하려면 다음 중 하나를 사용할 수 있습니다.

  • g -std=c 11 input.cxx -o a.out
  • g -std=gnu 11 input.cxx - o a.out

Mavericks 이전 OS X에서는 g가 clang의 별칭이었고 Apple의 이전 libstdc가 기본값이었습니다. C 11 라이브러리 지원이 포함된 libc 를 사용하려면 -stdlib=libc 를 전달하세요. 컴파일 옵션은 다음과 같습니다:

  • g -std=c 11 -stdlib=libc input.cxx -o a.out
  • g -std=gnu 11 -stdlib=libc input.cxx -o a.out
  • clang -std=c 11 -stdlib=libc input.cxx -o a.out
  • clang -std=gnu 11 -stdlib=libc input.cxx -o a.out

OS X Mavericks 이상

OS X Mavericks 이후 libc가 기본 C 라이브러리가 되었습니다. 이 경우 -stdlib= 플래그를 사용하지 않아야 합니다. 특히 Xcode 10 이상에서는 더 이상 libstdc에 대한 컴파일을 지원하지 않습니다.

권장 컴파일 옵션

  • Linux: g -std=c 11 input.cxx 사용 - o a.out 또는 g -std=gnu 11 input.cxx -o a.out
  • OS X(Mavericks 이전): g -std=c 11 -stdlib=libc input.cxx -o a를 사용합니다. out 또는 clang -std=c 11 -stdlib=libc input.cxx -o a.out
  • OS X(Mavericks 이상): clang -std=c 11 input.cxx -o a.out 또는 clang -std=gnu 11 input.cxx -o a.out

위 내용은 GCC로 컴파일할 때 \'-stdlib=libstdc \'를 언제 지정해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!