02 Aug

c++ dll 만들기 예제

Dlls가 코드에서 로드되기 때문에 대신 정적 라이브러리를 사용하는 것 같아요(예 : Win32에서는 LoadLibrary()를 사용해야 합니다. 예를 들어 창에서 Kernel32.dll 파일은 메모리 관리, 입력/출력 작업 및 인터럽트를 처리합니다. 메뉴 모음에서 새 프로젝트 만들기 대화 상자를 열려면 새 프로젝트 파일을 선택합니다. 파일 맨 위에 있는 전처리기 문을 확인합니다. 기본적으로 DLL에 대한 새 프로젝트 템플릿은 DLL 프로젝트에 대해 정의된 전처리기 매크로에 PROJECTNAME_EXPORTS를 추가합니다. 이 예제에서 Visual Studio는 MathLIBRARY DLL 프로젝트를 빌드할 때 MATHLIBRARY_EXPORTS를 정의합니다. 이제 클라이언트 앱에는 빌드및 실행하는 데 필요한 모든 것이 있습니다. 메뉴 모음에서 빌드 를 선택하여 응용 프로그램을 빌드합니다. Visual Studio의 출력 창에는 Visual Studio 버전에 따라 다음과 같은 예제가 있어야 합니다. 선언. 이 수정자는 컴파일러와 링커에게 DLL에서 함수 또는 변수를 내보내 다른 응용 프로그램에서 사용할 수 있도록 지시합니다. 예를 들어, MATHLIBRARY_EXPORTS가 정의되지 않은 경우, 예를 들어 헤더 파일이 클라이언트 응용 프로그램에 포함되는 경우 MATHLIBRARY_API는 선언에 __declspec(dllimport) 수정자를 적용합니다. 이 수정자는 응용 프로그램에서 함수 또는 변수 가져오기를 최적화합니다.

자세한 내용은 dllexport, dllimport를 참조하십시오. C ++로 작성된 .dll을 다른 C++ 프로젝트에 사용하는 방법에 대한 자습서를 많이 보았지만 C +에서 사용되는 C .dll은 C +에 사용하지만 C VS 프로젝트에 C ++ .dll을 사용하는 방법에 대한 예는 없습니다. 난 정말 도움이 필요, 나는 인터넷을 통해 모든 검색 했습니다., 내 문제에 대 한 `솔루션`의 모든 종류를 시도, 여전히, 어떤 솔루션 없이. DLL 또는 동적 링크 라이브러리를 하나의 파일로 함께 압축된 코드, 데이터 또는 리소스의 모음으로 간단히 생각할 수 있습니다. DLL은 코드를 배포하고 재사용할 수 있는 좋은 방법입니다. 예를 들어 각 응용 프로그램에서 동일한 작업을 코딩하는 대신 추가, 빼기, 곱셈 및 나누기와 같은 산술 연산을 사용하는 두 개의 응용 프로그램이 있는 경우 이러한 작업을 DLL(예: Math.dll) 내에 넣을 수 있습니다. 두 응용 프로그램에서 DLL을 참조합니다. 이러한 방식으로 수학 연산을 한 번만 코딩하는 반면 두 응용 프로그램 또는 향후 응용 프로그램은 산술 연산에 동일한 Math.dll을 사용할 수 있습니다.

만들기 단추를 선택하여 클라이언트 프로젝트를 만듭니다. 그것은 쉬운 튜토리얼그래서 당신은 초보자 경우에도이 예제가 당신을 도울 것입니다. 마법사가 완료되면 최소한의 콘솔 응용 프로그램 프로젝트가 만들어집니다. 주 소스 파일의 이름은 이전에 입력한 프로젝트 이름과 같습니다. 이 예제에서는 MathClient.cpp라는 이름이 붙여진 것입니다. 빌드할 수 있지만 아직 DLL을 사용하지 않습니다. 참고: DLL 프로젝트를 만든 후 자동으로 PROJECTNAME_EXPORTS가 DLL 프로젝트의 전처리자 기호에 정의됩니다. 이 예제에서는 CALCULATIONDLL DLL 프로젝트가 빌드될 때 계산DLL_EXPORTS가 정의됩니다. 이 연습은 몇 가지 일반적인 상황을 다루지 않습니다. 다른 프로그래밍 언어에서 C++ DLL의 사용을 표시 하지 않습니다. 리소스 전용 DLL을 만드는 방법은 표시되지 않습니다. 또한 로드 타임이 아닌 런타임에 DLL로드에 대한 명시적 연결의 사용을 표시하지 않습니다.

이러한 모든 작업을 수행 하려면 Visual Studio를 사용할 수 있습니다 안심 하 고 있습니다. DLL에 대한 자세한 내용은 Visual Studio에서 C/C++ DLL 만들기를 참조하십시오.