VS2013创建并使用DLL

1.DLL文件

DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件

2.创建DLL项目

创建win32应用控制台程序,取名为mydll,点击DLL选项。


新建goods.h 和goods.cpp 文件

goods.h

#pragma once

#ifdef MYDLL_EXPORTS  
#define MYDLL_API __declspec(dllexport)  
#else  
#define MYDLL_API __declspec(dllimport)  
#endif 

#include <iostream>
#include <string>

using namespace std;

class MYDLL_API GOODS
{
public:
	GOODS::GOODS();
	GOODS::~GOODS();

	int setname(string name);

	int setnum(int num);

	int setperunit(int perunit);

	int printinfo();

	int getcost();

private:
	string m_name;
	int m_num;
	int m_perunit;
};
goods.cpp

#include "goods.h"

GOODS::GOODS()
{}

GOODS::~GOODS()
{}

int GOODS::setname(string name)
{
	m_name = name;

	return 0;
}

int GOODS::setnum(int num)
{
	m_num = num;
	return 0;
}

int GOODS::setperunit(int perunit)
{
	m_perunit =perunit;
	return 0;
}

int GOODS::printinfo()
{
	cout <<"name: " << m_name << endl;
	cout << "num: " << m_num << endl;
	cout << "perunit: " << m_perunit << endl;

	return 0;
}

int GOODS::getcost()
{ 
	int cost = m_num*m_perunit;
	return cost;
}

项目源文件下添加.def文件。添加方法:添加—新建项—代码—模块定义文件。

最后生成解决方案,编译成功后可以在debug文件夹下发现mydll.dll和mydll.lib文件。
3.调用DLL项目

新建一个win32控制台的空项目,取名usemydll,然后引用dll步骤如下:

1.项目->属性->配置属性->VC++ 目录-> 在“包含目录”里添加头文件goods.h所在的目录 

2.项目->属性->配置属性->VC++ 目录-> 在“库目录”里添加头文件mydll.lib所在的目录 

3.项目->属性->配置属性->链接器->输入-> 在“附加依赖项”里添加“mydll.lib”

4.将dll项目下的debug文件中的math.dll复制到当前项目的debug文件夹中

新建添加main.cpp文件

main.cpp

#include "goods.h"

int main()
{
	GOODS book;

	book.setname("book");

	book.setnum(2);

	book.setperunit(10);

	book.printinfo();

	cout << "cost: "<<book.getcost() << endl;

	return 0;
}



参考文献:

【1】http://blog.csdn.net/shun_fzll/article/details/39078971

【2】http://blog.csdn.net/autumn_summer/article/details/23430533

【3】http://blog.csdn.net/missingu1314/article/details/9421085

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值