![Linux(c 프로그래밍)에서 동적 및 정적 라이브러리를 만들고 사용하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/78364/Linux(c%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)%EC%97%90%EC%84%9C%20%EB%8F%99%EC%A0%81%20%EB%B0%8F%20%EC%A0%95%EC%A0%81%20%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EB%A5%BC%20%EB%A7%8C%EB%93%A4%EA%B3%A0%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
동적 및 정적 라이브러리를 만들고 사용하는 방법은 무엇입니까?
누구든지 정적 및 동적 라이브러리에서 동적 및 정적 라이브러리를 생성하고 사용하는 방법을 간단한 방법으로 설명할 수 있습니까 c
? 또한 왜 gcc -c
and 를 사용하는지 알려주세요 gcc -o
. 나는 gcc
그것이 컴파일러라는 것을 알고 있지만 -c
및 -o
. 이 목적은 무엇입니까?
답변1
-c
(객체 파일 컴파일)과 (출력 파일 지정)이 무엇을 하는지 모르기 때문에 -o
간단한 실행 가능한 컴파일부터 시작하는 것이 좋습니다. 개체 파일이 무엇인지, 서로 어떻게 어울리는지 알아보세요.
계속해서 정적 라이브러리를 사용하세요. 정적 라이브러리는 함께 보관된 몇 개의 개체 파일일 뿐이라는 점을 이해하세요. 이를 컴파일러에 지정하는 방법과 컴파일러가 이를 찾는 방법입니다.
마지막으로 역동적인 것을 시도해 보세요. 런타임 시 어떻게 연결되는지 이해합니다. 찾을 위치를 지정해야 합니다. 그들은 다르게 컴파일하고 링크합니다(보셨나요 -fPIC
?). 그들은 서로 의지할 수 있습니다. 그들은 강력한 짐승이며 쉽게 당신을 물 수 있습니다 :)
그리고단순한정적 및 동적 라이브러리를 만드는 방법은 무엇입니까? 수동으로 작성하는 것을 잊어버리고 cmake를 사용하십시오. 더 자세히 알아보려면 make with 를 실행하고 VERBOSE=1
컴파일러 매개변수를 살펴보고 학습하세요.
답변2
귀하의 질문에 대한 답변을 어디서부터 시작해야 할지 모르겠습니다.
gcc 매뉴얼 페이지를 참조하면
man gcc
gcc 옵션 및 사용법에 대한 질문을 완벽하게 해결해 드립니다.
동적 및 정적 라이브러리 부분의 경우 갈 길이 멀고 인터넷에는 다음과 같이 명확하고 이해하기 쉬운 문서가 많이 있습니다.
http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
좋은 출발점이다