2012-11-13 4 views
1

C 스타일 .c.h 클래스를 C++ 응용 프로그램에서 사용하는 방법에 대한 기본적인 질문 게시. C 용 라이브러리이지만 C++ 용으로도 사용할 수있는 라이브러리를 기반으로합니다.C++ 응용 프로그램에서 c 클래스 및 헤더 파일 사용

내 프로젝트에 두 파일을 포함시키기 전에 두 파일의 이름을 .cpp 및 .hpp로 변경해야합니까? 기존 스레드를 참조하려고했지만 crom cpp와 다른 방법을 설명합니다.

How to convert C++ Code to C

답변

5

아니 당신은하지 않습니다. 확장 프로그램은 공유됩니다.

구현 파일 확장자는 컴파일러/IDE에 따라 다릅니다. 예를 들어 MSVS는 .c 파일을 C 소스 코드로 컴파일하고 .cpp 파일을 C++로 컴파일합니다. 즉, 프로젝트의 C++ 부분에서 C 기능을 사용하는 경우 헤더에

extern "C" 

을 사용해야 함을 의미합니다.

AFAIK g++이있는 파일을 .c으로 컴파일 할 수 있으므로 확장명을 변경할 필요가 없습니다. 또는 gcc으로 컴파일하고 extern "C"을 다시 사용할 수 있습니다.

+0

사소한 언급으로 C 라이브러리의 헤더 파일에'extern "C"'를 넣는 것이 "이상한"것이라고 주장 할 수 있습니다. 왜냐하면 그 구문은 C++이기 때문입니다. C 헤더의'#include '주위에'extern "C"'를 넣는 것도 가능합니다. – unwind

+0

@ @'#ifdef __cplusplus'로 감싸 주거나 둘러싸는데, 그렇습니다. –

+0

extern "C"{} 블록으로 실제 #include를 래핑하는 방법을 생각해 본 적이 없습니다. 그것은 꽤 영리합니다. 오 전처리 기, 어떻게 학대받을 수 있니? 그 방법을 세어 보겠습니다. –