Programming/Tip&News1 extern "C" 가 뭐에요? C에서 C++ 함수를 호출할 수 있고 C++에서 C함수를 호출할 수 있습니다. 그러나 단순히 일반적인 방법으로 호출할 경우 문제가 발생할 수 있습니다. C에서는 함수명이 다르면 다른 함수지만 C++에서는 함수 오버로딩을 지원하기 때문에 함수명이 같아도 다른 함수일 수 있습니다. 즉, C와 C++ 컴파일에서 함수이름를 다루는 규약이 다릅니다. 따라서, C++ 컴파일러는 C와 같이 함수명만으로 함수들을 구분할 수 없기 때문에 컴파일 과정에서 C++ 규약으로 함수 이름을 변경합니다. 이러한 규칙을 네임 맹글링(Name Mangling)이라고 합니다. extern "C" 네임 맹글링으로 인해 C와 C++ 컴파일 과정에서 함수 표현 방식이 달라집니다. 따라서 서로를 호출하려고 하면 표현 방식의 차이로 인해 오류가.. 2023. 7. 12. 이전 1 다음