C++ 调用C++写的函数库的2种方法之一(显式调用)

一:创建C++ DLL类库,名称:Dll1

1.Dll.h

_declspec(dllimport) int add(int a, int b);

  

  2.Dll.cpp

// Dll.cpp : 定义 DLL 应用程序的导出函数。
//

#include "stdafx.h"

#include<iostream>



//#include"Dll.h"
using namespace std;

extern "C" _declspec(dllexport) int add(int a, int b)
{
   
     return (a+b);

}

  

二:C++启动项目win32项目,名称:DynamicLoadDll

1.DynamicLoadDll.h

   空白,没有写内容

2.DynamicLoadDll.cpp

// DynamicLoadDll.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "windows.h"
#include <iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
	HINSTANCE hInst;
	hInst=LoadLibrary("Dll.dll");
	typedef int (*ADDPROC)(int a,int b);
	ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add");
	//ADDPROC Add=(ADDPROC)0x00011078;
	cout<<Add(5,4)<<endl;
	return 0;
}

  

三:配置

     1.想将dll文件copy到启动项目的debug中去。

     2。按照下图中的红框来设置。我不明白我的为什么要在这里加引用,如果不加,它就会报错,解析不了,网上的都没有加,所以在这里碰到了很多的挫折。

3. 结果

     在dos命令窗口出现5+4的结果 9

原文地址:https://www.cnblogs.com/nanyangzp/p/3428474.html