programing

C 표준 라이브러리의 위치

powerit 2023. 7. 17. 21:28
반응형

C 표준 라이브러리의 위치

gcc 매뉴얼에서 "C 표준 라이브러리 자체는 '/usr/lib/libc.a'에 저장됩니다."라고 명시되어 있습니다.gcc를 설치했지만 해당 위치에서 libc.a를 찾을 수 없습니다.어디에 있는지 궁금합니다.

/usr/lib 위치에 많은 .so 파일이 있습니다.저것들은 무엇인가요?

찾으시는 경우libc.a:

$ gcc --print-file-name=libc.a
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libc.a

몇 가지 사항:

  • gcc와 glibc는 두 가지 다른 것입니다.gcc는 컴파일러이고 glibc는 런타임 라이브러리입니다.거의 모든 것이 작동하려면 glibc가 필요합니다.
  • .a파일은 정적 라이브러리입니다..so공유 객체를 의미하며 Linux는 DLL과 동등합니다.
  • 대부분의 것들은 libc.a와 연결되지 않고 libc와 연결됩니다.그렇게

그것이 당신을 위해 해결되기를 바랍니다.장소에 관해서는, 거의 확실하게./usr/lib/libc.a및/또는/usr/lib/libc.so말씀드렸듯이 .so가 더 일반적입니다.

RPM 기반 Linux(Red Hat/CentOS/Fedora/SUSE)를 사용하는 경우 설치된 glibc의 위치를 확인할 수 있습니다.rpm -ql glibc그리고.rpm -ql glibc-devel.

locate libc.a위치를 알려줄 겁니다그리고 그 결과를 확인하려면 다음을 수행합니다.rpm -qf /usr/lib/libc.a

이것은 무엇입니까?rpm -qi이 패키지에 대해 말해야 합니다.

glibc-devel:

glibc-devel 패키지에는 표준 C 라이브러리(거의 모든 프로그램에서 사용됨)를 사용하는 프로그램을 개발하는 데 필요한 개체 파일이 포함되어 있습니다.표준 C 라이브러리를 사용할 프로그램을 개발하는 경우 실행 파일을 만들기 위해 시스템에서 이러한 표준 개체 파일을 사용할 수 있어야 합니다.표준 C 라이브러리를 사용할 프로그램을 개발하려면 glibc-devel을 설치합니다.

glibc:

glibc 패키지에는 시스템의 여러 프로그램에서 사용하는 표준 라이브러리가 포함되어 있습니다.디스크 공간과 메모리를 절약하고 업그레이드를 쉽게 하기 위해 공통 시스템 코드를 한 곳에 보관하고 프로그램 간에 공유합니다.이 특정 패키지에는 표준 C 라이브러리와 표준 수학 라이브러리라는 가장 중요한 공유 라이브러리 세트가 포함되어 있습니다.이 두 라이브러리가 없으면 Linux 시스템이 작동하지 않습니다.

정적 라이브러리용 패키지를 별도로 설치해야 합니다. glibc-static.i686

센토스 5.8에서

$ ls -l /usr/lib/libc.a
-rw-r--r--  1 root root 2442786 Apr  8  2010 /usr/lib/libc.a

$ rpm -qf /usr/lib/libc.a
glibc-devel-2.3.4-2.43.el4_8.3

당신은 또한 그것을 가져야 합니다.glibc-devel패키지를 RedHat 배포 환경에 설치할 수 있습니다.

언급URL : https://stackoverflow.com/questions/5925678/location-of-c-standard-library

반응형