2013-09-26 2 views
0

솔라리스 10에서 썬은 이제 libC.a 과 같은 C 라이브러리의 정적 버전을 제공하지 않지만 Sun Studio를 사용하여 동일한 문제를 해결할 수 있는지 확인합니다. Visual Studio가 C 런타임 라이브러리를 제공하는 것과 마찬가지로 C 라이브러리가 Compiler에 의해 제공된다는 인상하에.SunStudio를 사용하는 Solaris에서 정적 라이브러리 C 라이브러리

Solaris C에 있습니다. libray는 시스템에서만 제공되며 Solaris 10에서 libC.a와 호환되는 정적 버전을 구할 방법이 없습니까? 감사합니다.

+0

주의 -'libC'는 C++ 표준 라이브러리이고'libc'는 C 표준 라이브러리입니다. 둘 다 Solaris에서 운영 체제가 제공되며 Studio 컴파일러에서는 제공되지 않습니다. – alanc

+0

왜 시스템 라이브러리, 특히 libc의 * 정적 버전을 원하십니까? 정적 라이브러리를 사용하면 특정 버전에 영원히 용접되고 유지 관리 비용이 증가합니다. –

답변

1

하나를 찾을 수 있는지 확실치 않습니다. 이것은 "설계 상"입니다 - stdlib API는 안정적이지만 내부는 OS 릴리스 사이에서 바뀌므로 모든 사람이 동적으로 링크를 연결하여 파손되지 않도록하십시오.

동적 버전 을 이론적으로 사용하면은 실행 파일을 다른 Solaris 릴리스간에 이식 가능하게 유지합니다 (단, 이는 보장되지 않습니다).

완전히 독립적 인 실행 파일을 원한다면 GCC와 자체 stdlib를 사용해야합니다.

+0

gcc는 Solaris에서 자체 stdlib를 가지고 있지 않습니다. – jlliagre

+0

Err ... 나는 실제로 glibc를 의미했습니다. –

+1

내가 당신을 의미하는 것으로 추측합니다. Solaris 용 glibc 포트는 없습니다. 이 플랫폼의 gcc는 사용자가 설명한 이유 때문에 공유 라이브러리로만 제공되는 번들로 제공되는 libc를 사용합니다. 세 번째 단락에서는 특히 솔라리스 10 이후부터 할 수없는 것을 설명합니다. – jlliagre

관련 문제