컴퓨터/C

C 코드와 C++ 코드를 함께 컴파일 extern "C"

Begi 2020. 6. 3. 19:49
반응형

C++에서 extern "C"은 네임 맹글링을 하지 않도록 하는 키워드이다.

 

네임 맹글링을 하지 않으면 C 코드와 C++ 코드를 함께 컴파일할 수 있다. extern "C" 없이 C 코드에서 C++ 함수를 호출하거나 C++ 코드에서 C 함수를 호출하면 컴파일 에러가 뜬다.

 

예를들면, cpp 파일에서 다음과 같이 사용한다.

 

extern "C" void fun1(void);

 

extern "C" void fun2(void)

{

fun1();

}

 

fun1 함수는 C 파일에 정의된 함수이고 fun2는 C++ 파일에 정의된 함수이다.

 

반응형