VS 2013 DLL 생 성 및 사용
1945 단어 C++노트
DLL(Dynamic Link Library)파일 은 동적 링크 라 이브 러 리 파일 로'응용 프로그램 확장'이 라 고도 부 르 며 소프트웨어 파일 형식 입 니 다.Windows 에서 많은 응용 프로그램 은 실행 가능 한 완전한 파일 이 아니 라 상대 적 으로 독립 된 동적 링크 라 이브 러 리,즉 DLL 파일 로 나 누 어 시스템 에 배치 합 니 다.우리 가 어떤 프로그램 을 실행 할 때 해당 DLL 파일 이 호출 됩 니 다.하나의 프로그램 은 여러 개의 DLL 파일 을 사용 할 수 있 고,하나의 DLL 파일 도 다른 프로그램 에서 사용 할 수 있 으 며,이러한 DLL 파일 은 공유 DLL 파일 이 라 고 불 린 다.
2.DLL 프로젝트 만 들 기
1.win 32 응용 콘 솔 프로그램 을 만 들 고 DLL 옵션 을 클릭 합 니 다.2.새로 만 든.h 와.cpp 파일;3.솔 루 션 생 성,컴 파일 성공 후 debug 폴 더 에서.dll,.ilk,.pdb 파일 생 성;4.프로젝트 원본 파일 에.def 파일 을 추가 합 니 다.추가 방법:새 항목-코드-모듈 정의 파일 을 추가 합 니 다.5.솔 루 션 을 다시 만 듭 니 다.컴 파일 에 성공 하면 debug 폴 더 에.exp 와.lib 파일 을 추가 할 수 있 습 니 다.
3.DLL 프로젝트 호출
win 32 콘 솔 의 빈 항목 을 새로 만 듭 니 다.usemy dll 이라는 이름 을 지 었 습 니 다.다음 dll 절 차 를 참조 하 십시오:1.항목->속성->설정 속성->VC+디 렉 터 리->"디 렉 터 리 포함"에 헤더 파일 을 추가 합 니 다.h 가 있 는 디 렉 터 리 2.항목->속성->설정 속성->설정 속성->설정 속성->설정 속성->입력->"추가 의존 항목"에"*.lib"4 를 추가 합 니 다.현재 항목 의 debug 폴 더 에 있 는.dll 을 복사 합 니 다.5.새 main.cpp 파일 을 만 들 고 dll 을 호출 합 니 다.
4.MATLAB 호출 dll
1.c++DLL 프로젝트 CtoMat 2,헤더 파일 pst.h 새로 만 들 기
#pragma once
#ifndef PST_H
#define PST_H
#ifdef __cplusplus
extern "C"
{
#endif
__declspec(dllexport) double add(double x, double y);
#ifdef __cplusplus
}
#endif
#endif
3.cpp 파일 pst.cpp,x64 플랫폼 을 선택 하여 CtoMat.dll 생 성
#include "pst.h"
double add(double x, double y)
{
return (x + y);
}
4.MATLAB 명령 행 창,입력
>>mex -setup
, :
mex -setup C++ ( )
mex -setup FORTRAN
MEX 'Microsoft Visual C++ 2013 Professional' C++ 。
//MATLAB DLL
>> loadlibrary('CtoMat','pst.h')
//
>> libfunctions CtoMat -full
lib.CtoMat :
double add(double, double)
//MATLAB
>> calllib('CtoMat', 'add', 5, 8)
ans =
13
>>