다음을 통해 공유


C 함수를 C 또는 C++ 언어 실행 파일에서 사용할 수 있도록 내보내기

업데이트: 2007년 11월

DLL에 포함된 C로 작성된 함수를 C 언어 또는 C++ 언어 모듈에서 액세스하려면 전처리기 매크로 __cplusplus를 사용하여 컴파일될 언어를 결정한 다음, C++ 언어 모듈에서 사용할 경우 이 함수를 C 링크로 선언해야 합니다. 이 방법을 사용하고 DLL에 헤더 파일을 제공하면 C 및 C++ 사용자가 별도의 변경 없이도 이 함수를 사용할 수 있게 됩니다.

다음 코드는 C 및 C++ 클라이언트 응용 프로그램에서 사용할 수 있는 헤더 파일을 보여 줍니다.

// MyCFuncs.h
#ifdef __cplusplus
extern "C" {  // only need to export C interface if
              // used by C++ source code
#endif

__declspec( dllimport ) void MyCFunc();
__declspec( dllimport ) void AnotherCFunc();

#ifdef __cplusplus
}
#endif

C 함수를 C++ 실행 파일에 링크해야 하는 경우 함수 선언 헤더 파일에서 위의 방법을 사용하지 않았으면 C++ 소스 파일에 다음을 추가하여 컴파일러에서 C 함수 이름을 데코레이팅하지 않게 합니다.

extern "C" {
#include "MyCHeader.h"
}

수행할 작업

추가 정보

참고 항목

개념

DLL에서 내보내기