Chapter 18. C 언어와의 링크 지정¶
'명품 C++Programming - 황기태' 13장 학습 내용
1절. C 코드와의 링킹
2절. extern "c"
1절. C 코드와의 링킹¶
C++ 에서의 C 코드와 링킹¶
- 이름 규칙
- 컴파일 후 목적 코드에 이름을 붙이는 규칙
- 변수, 함수, 클래스 등의 이름
- C 언어의 이름 규칙
- 이름 앞에 밑줄표시문자(_)를 붙임
- int f(int x, int y) -> _f
- int main() -> _main
- C++의 이름 규칙
- 함수의 매개 변수 타입과 개수, 리턴 타입에 따라 복잡한 이름
- int f(int x, int y) -> ?f@@YAHHH@Z
- int f(int x) -> ?f@@YAXH@Z
- int f() -> ?f@@YAHXZ
- int main() -> _main
C 언어 프로그램의 컴파일과 링킹¶
C++ 소스의 컴파일과 링킹¶
C++에서 C 언어 함수 호출 시 링크 오류 발생¶
Visual C++ 에서의 링크 오류 메시지¶
2절. extern "c"¶
extern "c"¶
- extern "c"
- C 컴파일러로 컴파일할 것을 지시
- C 이름 규칙으로 목적 코드를 생성할 것을 지시
- 사용법
- 함수 하나만 선언
- 여러 함수들 선언
- 헤더 파일 통째로 선언