__declspec(dllexport) : 이 키워드로 선언된 변수나 함수를 DLL 외부에서 사용할 수 있게끔 export 하겟다는 의미.
extern "C" : 컴파일러가 심볼(변수나 함수)에 대해 name mangling 을 하지 않도록 명시하는 것이다. 하지만~ 함수의 오버로딩을 포기해야 한다는 것.
p.s. name mangling을 할 땐, DLL 개발자 컴파일러와 DLL 사용하는 개발자의 컴파일러가 같은 경우만 해당.
extern "C" : 컴파일러가 심볼(변수나 함수)에 대해 name mangling 을 하지 않도록 명시하는 것이다. 하지만~ 함수의 오버로딩을 포기해야 한다는 것.
p.s. name mangling을 할 땐, DLL 개발자 컴파일러와 DLL 사용하는 개발자의 컴파일러가 같은 경우만 해당.
최근 댓글