[C/C++] extern C

Hyo Kyun Lee·2022년 8월 11일
0

C/C++

목록 보기
8/23

1. extern C

C++ 프로그램에서 사용하는 전처리 문법 중 하나이다.

구체적인 전처리 문법은 아래와 같다.

#ifdef __cplusplus
	extern "C"
#endif

C++ 컴파일러(현재 실행중인 프로그램 체계)에게, C로 작성한 코드이니 C문법을 적용하여 컴파일하라는 의미이다.

정확히 말하면, C++의 변수 맹글링(오버로딩)아닌 C의 변수 맹글링(동일한 함수명 사용 문법, 오버로딩 하지 않음)을 적용하라는 의미이다.

2. 전처리 목적

이는 C에서 오류는 발생할 수 있으나, C++에서 오류는 발생하지 않고 이로 인하여 생기는 치명적인 버그 및 오류 상황 등을 방지하기 위한 목적으로 사용한다.

즉, C에서 동일 함수로 다른 기능을 사용할 수 없으므로(오버로딩 불가) 컴파일 과정에서 오류가 발생할 수 있지만, C++에서는 오버로딩이 가능하여 컴파일 과정에서 오류가 발생하지 않을 수 있다.

이러한 상황을 방지하기 위하여 extern C 전처리를 진행하며, 자세한 목적이나 의미는 더 찾아봐야 할 것 같다.

3. 참고자료

쉽게 설명한 블로그 - https://m.blog.naver.com/keunsik114/221617278680
조금 어렵지만 이해하는데 도움되는 블로그 - https://onecellboy.tistory.com/6

0개의 댓글