C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[26917] Re:Re:Re:Dll 파일을 사용할 때 외부 함수 선언 방법은 어떻게 되나요..
꼴.시크릿 [kkol] 1165 읽음    2003-08-26 11:39
: 그리고 c소스는 아래와 같으며 프로젝트 파일에 LIB 파일 추가하고 실행하면 컴파일 됩니다.
: 그런데.. 빌더에서 어떻게 해하 되는지 잘 모르겠네요..

C소스는 되는데 CPP소스에서만 컴파일이 안되는 경우는
라이브러리(or DLL)은 C로 컴파일 되어 있고
사용할때 C++컴파일러를 사용하는 경우입니다.

이럴때는 선언 부분을
extern "C" {} 로 묶어줘야 합니다.

라이브러리 추가되 있는지 확인하시고..

extern "C"
{
int WINAPI lockinit(int op1);
int WINAPI lockauto(int op1);
int WINAPI lockfunc0(int op1, int op2);
int WINAPI lockfunc1(int op1, int op2);
int WINAPI lockfunc2(int op1, int op2);
int WINAPI lockfunc3(int op1, int op2);
int WINAPI lockwrite(int op1, int op2);
int WINAPI lockread(int op1, int op2);    /*
}

이렇게 선언해 보세요


그리고 게시판에 올린 소스 고쳐서 에러 안뜨게 만들었으니 참고하세요

근데.. 게시판에 올린 소스는 프로젝트에 mega.lib포함 안한거군요
mega.dll에 함수이름이 _lockinit으로 안들어가 있어서 강제로 '_' 가  추가된이름으로
변환하였습니다. ( impdef.exe, implib.exe 사용했음 )
파일이름이 mega2.lib 이고요 프로젝트에 이것을 링크 시켰습니다.

에러 없이 컴파일 하는거 확인했으니 받아보세요




+ -

관련 글 리스트
26897 Dll 파일을 사용할 때 외부 함수 선언 방법은 어떻게 되나요.. 이종현 1193 2003/08/25
33219     Re:Dll 파일을 사용할 때 외부 함수 선언 방법은 어떻게 되나요.. 이종현 1145 2003/08/25
33218     Re:Dll 파일을 사용할 때 외부 함수 선언 방법은 어떻게 되나요.. smleelms 1074 2003/08/25
26907     Re:Dll 파일을 사용할 때 외부 함수 선언 방법은 어떻게 되나요.. 꼴.시크릿 1312 2003/08/25
26913         Re:Re:Dll 파일을 사용할 때 외부 함수 선언 방법은 어떻게 되나요.. 이종현 1453 2003/08/26
33217             Re:Re:Re:Dll 파일을 사용할 때 외부 함수 선언 방법은 어떻게 되나요.. smleelms 1099 2003/08/26
33216             Re:Re:Re:Dll 파일을 사용할 때 외부 함수 선언 방법은 어떻게 되나요.. smleelms 1079 2003/08/26
26917             Re:Re:Re:Dll 파일을 사용할 때 외부 함수 선언 방법은 어떻게 되나요.. 꼴.시크릿 1165 2003/08/26
26934                 Re:Re:Re:Re:답변 감사합니다. 그리고 모두들 행복하세요..^^ [냉무] 이종현 998 2003/08/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.