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
'programing' 카테고리의 다른 글
URL에서 반환된 Zip 파일 다운로드 (0) | 2023.07.17 |
---|---|
Content-Type 헤더에 관계없이 Python Flask에서 원시 POST 본문 가져오기 (0) | 2023.07.17 |
문자열 벡터 입력을 사용하여 dplyr의 여러 열로 그룹화 (0) | 2023.07.17 |
파이썬 멀티프로세싱 모듈의 .join() 메서드는 정확히 무엇을 하고 있습니까? (0) | 2023.07.17 |
Android Studio 오류 "Android Gradle 플러그인을 실행하려면 Java 11이 필요합니다.현재 Java 1을 사용하고 있습니다.8" (0) | 2023.07.17 |