열기 시각 studio2019는 20199324dll를 들어, 프로젝트 이름을 동적 링크 라이브러리 프로젝트를 만들
그런 다음 매크로를 정의 : 헤더 파일에서 정의 할 수 있습니다, 효과는 매크로 기능은 외부에서 액세스 할 수 있도록하는 것입니다, 그리고 직접 호출. 다음과 같이 코드입니다 :
// pch.h: 这是预编译标头文件。
// 下方列出的文件仅编译一次,提高了将来生成的生成性能。
// 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
// 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
// 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
#ifndef PCH_H
#define PCH_H
// 添加要在此处预编译的标头
#include "framework.h"
#endif //PCH_H
//定义宏
#ifdef IMPORT_DLL
#else
#define IMPORT_DLL extern "C" _declspec(dllimport) //指的是允许将其给外部调用
#endif
IMPORT_DLL int add(int a, int b);
IMPORT_DLL int minus(int a, int b);
IMPORT_DLL int multiply(int a, int b);
IMPORT_DLL double divide(int a, int b);
다음과 같이이 후, pch.cpp 파일에 구현할 수 있습니다 :
// pch.cpp: 与预编译标头对应的源文件
#include "pch.h"
// 当使用预编译的头时,需要使用此源文件,编译才能成功。
int add(int a, int b)
{
return a + b;
}
int minus(int a, int b)
{
return a - b;
}
int multiply(int a, int b)
{
return a * b;
}
double divide(int a, int b)
{
double m = (double)a / b;
return m;
}
다음을 클릭 세대, (우리가 필요로했던이는) 디버그 디렉토리에 20199324dll.dll 파일을 생성합니다
호출이 성공의 DLL이, 20199324dlltest라는 이름의 여부를 다음 테스트 콘솔 응용 프로그램을 만들
WINDOWS.H (필수)의 도입 , 다음과 같은 주요 기능 호출 DLL에서 다음 문을 쓰기는 코드입니다 :
// 20199324dlltest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include <iostream>
#include<windows.h>
int main()
{
HINSTANCE hDllInst;
hDllInst = LoadLibrary(L"20199324dll.dll"); //调用 DLL
typedef int(*PLUSFUNC)(int a, int b); //后边为参数,前面为返回值
PLUSFUNC plus_str = (PLUSFUNC)GetProcAddress(hDllInst, "add");//GetProcAddress为获取该函数的地址
std::cout << plus_str(93,24);
}
참고 : 디버그 콘솔 프로그램 디렉토리에 복사 이전에 생성 된 DLL 파일이 필요!
로컬 Windows 디버거를 클릭하십시오