[C++] extern "C" 함수 Export
C에서 작성한 DLL을 C++에서 활용 가능하지만, 그러나 C++에서 작성한 DLL을 C에서 사용하는데 문제가 발생할 수 있다 이유는 C,C++ 컴파일(구조가 다름)에 따라 바이너리 코드가 다르다, 조금 더 상세히 설명하면 *맴글링 현상으로 인해 함수명을 인식하지 못하는 문제가 발생한다. 동적 링크 라이브러리(DLL, Dynamic LIck Libray)를 C,C++ 둘다 사용하도록 하기 위해 일관성이 있는 규칙이 필요하다 즉, 네임맴글링 문제를 해결을 해야한다. 이것이 바로 " extern "C" " 이 키워드를 사용하면 컴파일 시 C언어 디폴트 네임 맹글링 형태를 가짐으로써 C++문법에서 이 키워드를 사용하면 C,C++ 모두 호환 가능하다 -> extern "C" __declspec(dllexport..
C, C++
2019. 11. 7. 15:56