GCC에서 '-stdlib=libstdc' 플래그를 사용하는 경우
gcc로 컴파일할 때 '-stdlib=libstdc' 플래그 GNU 표준 C 라이브러리(libstdc)를 런타임 라이브러리로 사용하도록 지정해야 합니다.
컴파일러가 자동으로 libstdc를 사용합니까?
아니요. 운영 체제 및 특정 GCC 버전에 따라 컴파일러는 기본적으로 다른 런타임 라이브러리를 사용할 수 있습니다.
'-stdlib=libstdc' 플래그를 사용하는 경우
다음은 '-stdlib=libstdc' 플래그를 사용해야 하는 몇 가지 시나리오입니다.
-
Linux의 경우: 대부분의 Linux 배포판은 기본적으로 libstdc를 사용하지만 플래그를 명시적으로 지정하면 다음을 보장할 수 있습니다. 다양한 버전 간의 호환성.
-
Mavericks 이전의 macOS: macOS Mavericks 이전에는 기본 런타임 라이브러리가 Apple의 libstdc 이전 버전이었습니다. libc(C 11 지원)를 사용하려면 '-stdlib=libc' 플래그를 사용해야 합니다.
-
Mavericks 이후 macOS에서는: macOS Mavericks 이후 libc가 기본값이 되었으며 '-stdlib=libstdc' 플래그를 사용하면 안 됩니다.
컴파일 명령
다른 운영 체제에서 libstdc를 사용하여 C 11 코드를 컴파일하려면 다음을 사용하십시오. 명령:
-
Linux: g -std=c 11 -stdlib=libstdc input.cxx -o a.out
-
Mavericks 이전의 macOS: g -std=c 11 -stdlib=libc input.cxx -o a.out
-
Mavericks 이후의 macOS: clang -std=c 11 input.cxx -o a. 아웃
위 내용은 언제 \'-stdlib=libstdc \' 플래그를 GCC와 함께 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!