VS2013下静态链接库(lib)和动态链接库(dll)的生成与使用

本文详细介绍了在Visual Studio 2013环境下,如何生成和使用静态链接库(lib)和动态链接库(dll)。通过一个二分搜索的示例,阐述了静态库和动态库的创建步骤,包括设置项目属性、添加源文件,以及生成后的.lib和.dll文件的使用方法。同时,文章提及了在动态库生成过程中遇到的函数地址始终为0的问题,以及在调用动态链接库时可能出现的错误及解决办法。最后,作者讨论了静态库和动态库的原理,包括它们的文件关系、编译链接过程和优缺点。
摘要由CSDN通过智能技术生成

前言

分享一下我使用的方法和遇到的问题,我先说方法,再说就我而言会出现的问题,最后说理论

以二分搜索生成库为例

静态链接库生成方法

1、新建一个项目,选择Win32项目

 

2、选择静态库,预编译头可以加也可以不加,这里我不加

如果没有选静态库,可以在项目/工程属性/配置属性/常规/项目默认值配置类型中修改

3、添加.cpp文件和.h文件

(1)demo.cpp文件

#include<iostream>
#include<vector>
#include"BinarySearchLib.h"
using namespace std;

//递归方法
int Binary_Search_Recursion(vector<int> v, int begin, int end, int key)
{
	if (begin > end)
		return -1;
	int mid = (begin + end) >> 1;
	if (v[mid] > key)
		return Binary_Search_Recursion(v, begin, mid - 1, key);
	else if (v[mid] < key)
		return Binary_Search_Recursion(v, mid + 1, end, key);
	else
		return mid;
}

//非递归方法
int Binary_Search(vector<int> v, int begin, int end, int key)
{
	if (begin > end)
		return -1;
	int mid = 0;
	while (begin <= end)
	{
		mid = (begin + end) >> 1;
		if (v[mid] > key)
			end = mid - 1;
		else if (v[mid] < key)
			begin = mid + 1;
		else
			return mid;
	}
	return -1;
}

(2)BinarySearchLib.h文件

#ifndef  _BinarySearchLib_H
#define  _BinarySearchLib_H

#include<vector>
using namespace std;

int Binary_Search_Recursion(vector<int> v, int begin, int end, int key);
int Binary_Search(vector<int> v, int begin, int end, int key);

#endif

4、生成解决方案


 

这时候可以看到下方显示成功

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值