vs2013创建dll动态库

以前有vs2013创建过dll动态库,今天想重新实现一下,发现还是有些问题。好记性不如烂笔头,记录一下,以便以后查阅。

1. 创建生成动态库项目

1.1  创建空的Dll项目:新建 >> 项目 >> visual C++ >> win32控制台程序 >> 空的项目>>完成。(选择空项目避免生成一些不需要的文件)



1.2  创建3个文件,分别为:makedll.h、makedll.cpp、dllmain.cpp。注意dllmian.cpp需要包含Windows.h头文件。3个文件内容如下:

makedll.h 文件内容:

#ifdef DLL_API
#else
#define DLL_API __declspec(dllexport)
#endif
DLL_API int MyAdd(int a, int b, int c);

(注意需要导出的函数、类、变量等的前面要加上DLL_API,不然使用的时候会报“无法找到外部依赖项”的错误)

makedll.cpp 文件内容:

#include "makedll.h"

int MyAdd(int a, int b, int c)
{
	return a + b + c;
}

dllmain.cpp文件内容:

#include <windows.h>  
BOOL APIENTRY DllMain(HMODULE hModule,
	DWORD  ul_reason_for_call,
	LPVOID lpReserved
	)
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
	case DLL_THREAD_ATTACH:
	case DLL_THREAD_DETACH:
	case DLL_PROCESS_DETACH:
		break;
	}
	return TRUE;
}
1.3  创建模块定义文件:source.def

内容为:

LIBRARY "makedll"
	MyAdd @1
1.4  编译项目,得到目标dll和lib文件,默认再debug目录。

2. 使用动态库

2.1  创建win32控制台程序,讲makedll.h、makedll.lib、makedll.dll拷贝到某个目录,如F:/output目录。

testmain项目 >> 右键属性

VC++目录:

(包含目录为testdll.h所在的目录,库目录为lib dll所在目录)


C/C++:

(附加包含目录为dll lib所在目录)


链接器:

(附加目录为lib dll所在目录)


输入依赖项name:


2.2 添加测试代码testmain.cpp

#include "stdafx.h"
#include "makedll.h"


int _tmain(int argc, _TCHAR* argv[])
{
	printf("hello MyAdd:%d\n", MyAdd(100, 50, 8));
	return 0;
}
编译运行:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值