|
C++ 컴파일러에서도 .c를 컴파일하기는 할 겁니다. 하지만 C++에서 C의 함수를 가져다 쓰기 위해서는 다음과 같이 C 함수의 프로토 타입을 선언해서 가져와야 합니다.
in .cpp source file,
extern "C" {
____void func(); 등등등...
}
void MyApp::Init()
{
____...
____func();
}
도움이 되었어야 할 텐데요.
정승욱 님이 쓰신 글 :
: 기존에 .c 로 된 라이브러리가 있습니다. 이것을 이번에 C++BUILDER를 이용해서
: 윈도용으로 포팅을 했는데요. 화면출력이 필요한 부분만 했거든요.
: Canvas라든지 Bitmap등으로 쉽게 잘 하긴 했는데 문제는...
: 화면출력이 필요한 부분들은 즉 C++코드가 들어가야할 부분은 확장자를 .cpp로 바꿨습니다만
: 화면 출력부분만 테스트 할때는 문제가 없었는데요
: 그 밖의 부분의 함수를 호출해서 쓰려니까 link error가 나네요. .c를 프로젝트에 add했는데도
: 컴파일을 안하네요. 컴파일 안하니까 결국 그런 함수 없다고 에러고...
: 파일명을 바꿔서 .cpp로 하니까 바로 컴파일 시작하던데...즉 확장자가 문젠데..
: 컴파일러 지시자 등으로 어떻게 하는 방법없나요?
: 기존소스 확장자를 cpp로 바꾸지 않고 C++Builder안에서 .c .cpp 를 모두 사용할 수 있는 방법이
: 뭘까요?
:
: 왜냐면 그 기존의 소스란게 Platform에 비 의존적으로 만들어진 거 거든요.
: 그래서 필요할때마다 각 환경으로 필요한 하부단만 포팅하면 그만인건데 C++과의 링크가
: 뜻밖에 걸리네요..
: 도움좀주세요..
|