programing

정적 인라인, 외부 인라인 및 일반 인라인 기능의 차이점은 무엇입니까?

lastmoon 2023. 7. 6. 22:32
반응형

정적 인라인, 외부 인라인 및 일반 인라인 기능의 차이점은 무엇입니까?

다른 점은 무엇입니까?static inline,extern inline보통의inline기능?

저는 이것에 대한 모호한 설명을 보았습니다.제가 이해한 바로는static inline단순한 것이 아닙니다.inline특정 파일 내에서만 참조되도록 의도된 함수는 다음과 같습니다.static키워드는 일반적으로 의미합니다.마찬가지로extern inline제 생각에도, 그것은 에 대한 설명과 같지 않습니다.extern변수어떤 답변이라도 주시면 감사하겠습니다!

를 사용한 함수 정의static inline내부 연결을 사용하여 인라인 함수를 정의합니다.이러한 함수는 이러한 한정자의 "일반적인" 속성에서 "예상대로" 작동합니다.static내부 연결을 제공합니다.inline줄을 서야 합니다.따라서, 이 함수는 번역 장치에 "로컬"이고 그 안에서 인라인입니다.

다음 값을 사용한 함수 정의inline외부 링크가 있는 인라인 함수를 정의합니다.그러나 이러한 정의를 인라인 정의라고 하며 해당 함수에 대한 외부 정의로 작동하지 않습니다.즉, 이 함수에 외부 연결이 있더라도 다른 번역 단위에서 정의되지 않은 으로 간주됩니다. 사용자가 이 함수에 대해 별도의 외부 정의를 제공하지 않는 한.

를 사용한 함수 정의extern inline에서는 외부 연결을 사용하여 인라인 함수를 정의하고 이 정의는 이 함수에 대한 외부 정의 역할을 합니다.다른 번역 단위에서 이러한 기능을 호출할 수 있습니다.

마지막 두 단락은 단일 항목을 제공할 수 있다는 것을 의미합니다.extern inline외부 링크가 있는 인라인 함수에 대한 정의 또는 두 개의 별도 정의 제공: 하나inline기타extern후자의 경우 함수를 호출하면 컴파일러는 두 정의 중 하나를 선택할 수 있습니다.

언급URL : https://stackoverflow.com/questions/25000497/whats-the-difference-between-static-inline-extern-inline-and-a-normal-inline-f

반응형