lib.a라는 정적 라이브러리를 사용하는 여러 소스 코드를 컴파일하면 lib.a의 인라인 함수가 나머지 바이너리와 함께 제대로 인라인 될 것입니까?gcc 정적 링커가 정적 라이브러리에서 제대로 인라인 함수를 사용할 수 있습니까?
0
A
답변
0
아니요, 그렇지 않습니다. 인라이닝은 구문 분석 트리에 대한 작업이며 인라인 코드의 호스트 소스와 제공자 소스 코드 모두에 대한 액세스가 필요합니다.
정적 라이브러리는 사용하는 지점에서 이미 원본에서 컴파일되어 인라인이 수행되지 않습니다. 인라인되지 그러나
코드는 '적절한'이고 (이것은 모든 정적 라이브러리로 컴파일있어 가정) 잘 동작한다.
0
글쎄, 심지어 인라인 함수를 호출하려고 시도하기 때문에 선언은 호출 사이트에서 볼 수 있어야합니다. 이 경우 inline
이면 컴파일러는 인라인으로 컴파일하거나 요청을 완전히 무시합니다.
최종 제품에 연결할 때 라이브러리에서 인라인 된 함수가 인라인으로 선언되지 않았는지 궁금한 경우 ... 구현에 따라 달라지며 이미 LTO가 가능하다고 가정하면 라이브러리에 저장했기 때문에) 라이브러리를 다시 인라인 할 수 있습니다. 어디서나 인라인 될지라도 구현에 정의를 포함시켜야 할 수도 있습니다 ... 모두 구현에 따라 다릅니다.
http://crazyeddiecpp.blogspot.com/2010/12/inline-functions-and-you.html
관련 문제
- 1. 정적 너비가있는 인라인 div
- 2. 상호 배제 (정적 라이브러리에서)
- 3. 정적 라이브러리에서 self.view 액세스
- 4. 정적 라이브러리에서 문자열 지역화
- 5. 정적 라이브러리에서 C & C++ 코드를 섞음
- 6. 라이브러리에서 ThreadPool을 사용할 수 있습니까?
- 7. 인라인 정적 이벤트 제거
- 8. 정적 라이브러리에서 구조체 정의 숨기기
- 9. 정적 라이브러리에서 함수 호출 금지
- 10. GCC 컴파일 정적 라이브러리에는 무엇이 들어 있습니까?
- 11. 링커가 정적 라이브러리를 검색하는 방법을 이해하는 초보자 질문
- 12. 함수 이름을 정적 라이브러리에서 추출
- 13. 인라인 멤버 함수에 사용되는 정적 전역 변수
- 14. 다른 정적 함수에서 정적 함수를 호출하는 방법
- 15. 링커가 같은 디렉토리에서 정적 라이브러리를 찾을 수 없습니다.
- 16. 로거에 정적 클래스를 사용할 수 있습니까?
- 17. 정적 캐싱 DatabaseFactory.CreateDatabase를 사용할 수 있습니까?
- 18. Ninject를 정적 속성과 함께 사용할 수 있습니까?
- 19. 가상 정적 메서드를 사용할 수 있습니까? (C++)
- 20. GCC/Linux : .so에 정적 라이브러리를 추가 하시겠습니까?
- 21. 리플렉션을 사용하여 정적 클래스의 정적 정적 멤버를 설정할 수 있습니까?
- 22. 정적 라이브러리를 사용할 수 없습니다.
- 23. 정적 함수, 인라인 및 템플릿?
- 24. Objective-C에서 정적 클래스 메서드를 인라인 할 수 있습니까?
- 25. 리눅스 - 리소스가 포함 된 간단한 정적 라이브러리를 사용할 수 있습니까?
- 26. 정적 메서드에서 함수를 호출 할 수 없다
- 27. 클래스에서 정적 함수를 호출하려고 시도합니다.
- 28. "정적 라이브러리에서 MFC 사용"MFC80U.dll 링크
- 29. iOS : 정적 라이브러리에서 UIApplicationDelegate 함수 사용
- 30. 왜 정적 함수에서만 정적 멤버에 액세스 할 수 있습니까?
안녕하세요. 내 알기도 마찬가지입니다. 클레임에 대한 언급을 할 수 있습니까? 일반적으로이 정보를 어디서 조회해야합니까? – Andrew
이례적인 경우가 아니라면 부정적인 주장을 뒷받침하는 참고 자료를 요청하는 것은 합리적이지 않습니다. – Yttrill
http://crazyeddiecpp.blogspot.com/2010/12/inline-functions-and-you.html –