VC 6.0 동적 링크 라 이브 러 리 를 어떻게 만 들 고 호출 하 는 지 상세 하 게 설명 합 니 다.
3453 단어 VC6.0동적 연결 라 이브 러 리
extern "C" _declspec(dllexport) char* queryFunctionByFID(char* funcId);
를 설명 한 후 cpp 파일 에서 이 함 수 를 구현 합 니 다.
char* queryFunctionByFID(char* funcId)
{
…………………………
}
컴 파일,build 생 성.OK,Debug 에서 해당 하 는 dll 을 생 성하 여 동적 링크 라 이브 러 리 가 생 성 되 었 습 니 다.그리고 프로그램 은 이 dll 파일 을 직접 사용 할 수 있 습 니 다.그래서?dll 파일 copy 를 해당 테스트 dll 프로그램(dll 프로그램 호출)에 보 냅 니 다.사용 방식 은 다음 과 같다.나 는 dll 프로그램 에서 사용 하 는 콘 솔 프로그램 을 테스트 하 는데 이렇게 간단 하고 편리 하 며 당연히 MFC 프로그램 을 사용 해도 된다.예 를 들 어 우 리 는 콘 솔 프로그램 을 새로 만 든 다음 에 main 방법 에서 다음 과 같이 쓴다.
// ,
typedef char* (* queryFunctionByFID)(char*);
// , DLL
HINSTANCE hDLL=NULL;
// ,dll dll 。
hDLL=LoadLibrary("IProcessInstIn.dll");
queryFunctionByFID saveProcess=NULL;
//
saveProcess=(queryFunctionByFID)GetProcAddress(hDLL,"queryFunctionByFID");
//
cout<<" :"<<saveProcess("dd");
//
FreeLibrary(hDLL);
모든 문장의 역할,주석 은 이미 명확 하 게 표현 되 었 다.모 르 는 게 있 으 면 연락 하고 서로 교류 해 보 세 요.사실 동적 링크 라 이브 러 리 는 우리 VS 의 dll 과 유사 합 니 다.다만,그 때 는 dll 을 해당 하 는 프로그램 에 인용 한 다음 에 바로 사용 할 수 있 습 니 다.이 곳 은 우리 가 수 동 으로 불 러 오고 연결 하 며 dll 을 방출 합 니 다.이러한 방식 의 동적 링크 라 이브 러 리 를 사용 하면 우 리 는 프로그램 에서 원 하 는 함 수 를 마음대로 사용 할 수 있 습 니 다.우리 가'로드,로드 라 이브 러 리―GetProcAddress―FreeLibrary'원칙 을 지 키 기만 하면 된다.사용 이 상당히 편리 하 다.둘 사이 의 결합 에 대한 어려움 에서 벗 어 날 수 있 고 로드 와 방출 이 편리 합 니 다.정적 링크 라 이브 러 리 를 호출 하 는 방법 은 다음 과 같 습 니 다.첫째,lib 파일 과 dll 파일 두 파일 을 모두 클 라 이언 트 아래 에 두 고 동적 링크 라 이브 러 리 를 호출 할 때 dll 파일 만 필요 합 니 다.둘째:클 라 이언 트 에 새 헤더 파일 이 필요 합 니 다.dll 내 보 내기 함수 와 같은 헤더 파일 입 니 다.셋째,클 라 이언 트 호출 dll 파일(cpp 파일)에 사전 명령 을 추가 합 니 다.즉,lib 파일 을 명시 적 으로 불 러 옵 니 다.예 를 들 어\#pragma comment(lib,"IProcessInstin.dll")네 번 째:button 이벤트 에서 해당 하 는 방법 을 직접 호출 합 니 다.예 를 들 어 cout<<<"결 과 는:"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
VC 6.0 동적 링크 라 이브 러 리 를 어떻게 만 들 고 호출 하 는 지 상세 하 게 설명 합 니 다.모든 문장의 역할,주석 은 이미 명확 하 게 표현 되 었 다.모 르 는 게 있 으 면 연락 하고 서로 교류 해 보 세 요.사실 동적 링크 라 이브 러 리 는 우리 VS 의 dll 과 유사 합 니 다.다만,그 때 는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.