본문 바로가기
프로그래밍/C

extern "C" {}

by eteo 2023. 7. 18.

 

 

extern "C" {} 는 .cpp 소스파일에서 C 스타일로 작성된 함수나 변수를 사용하기 위한 C++의 키워드로, extern "C" {} 문구를 사용하면 해당 블록 내에 있는 함수나 변수를 C 스타일로 링크하도록 지시할 수 있다.

 

C++ 컴파일러는 C++ 언어의 특징을 따르는데, C++은 함수 오버로딩, 이름 맹글링(name mangling) 등의 기능을 지원하기 때문에 C 와는 다른 링킹 규칙을 가지고 있다.

 

따라서 extern "C" 키워드를 사용하면 C++ 코드에서 해당 블록 내에 선언된 C 함수나 C 변수를 호출 또는 참조할 때 C 스타일의 링킹 규칙을 따르도록 한다.

 

extern "C" {
    // C 함수
    extern void myCFunction(int arg);
}

extern "C" {
	// 전역변수
    extern int myCVariable;
}

extern "C" {
	// 헤더파일
    #include "main.h"
}

'프로그래밍 > C' 카테고리의 다른 글

C] strstr 함수 구현  (0) 2023.09.15
C ] Data Types Range  (0) 2023.09.15
C, C++ ] system("pause") 대신 사용할 수 있는 방법  (0) 2023.07.11
C ] 포인터와 const  (0) 2023.05.30
C ] 비트필드와 공용체 사용  (0) 2023.05.29