在windows平台使用Visual Studio 2017编译动态库并使用
使用VS stdio制作顺序表的库文件
- .lib与.dll 区别
- lib是编译时需要的
- dll是运行时需要的
1、新建头文件和源文件
- SeqList.h
// SeqList.h
#ifndef SEQLIST_H__
#define SEQLIST_H__
#define N 10
typedef int SLDataType;
typedef struct SeqList
{
SLDataType data[N];
int size;
} SeqList;
void SeqInit(SeqList *L); // 初始化
void SeqPushBack(SeqList *L, SLDataType x); // 尾插
void SeqPrit(SeqList ps); // 打印
#endif
- SeqList.c
// SeqList.h
#include <stdio.h>
#include <stdlib.h>
#include "SeqList.h"
void SeqInit(SeqList *L)
{
L->size = 0;
}
void SeqPushBack(SeqList *L, SLDataType x)
{
L->data[L->size] = x;
L->size++;
}
void SeqPrit(const SeqList L)
{
for (size_t i = 0; i < L.size; i++)
{
printf("%d\t", L.data[i]);
}
printf("\n");
}
2、编译.lib库文件
依次点击调试-属性,打开属性页面。

在属性页面,选择配置Debug,平台选择x64,更改常规-属性默认值-配置类型选项,并选择 静态库。

点击生成-生成解决方案,看到生成SeqList.lib。


在x64-Debug文件下面可以看到生成的SeqList.lib。

2、编译.dll库文件
然后再点击生成-清理生成解决方案,并同样打开属性页面。

更改常规-属性默认值-配置类型选项,并选择动态库。

点击生成-生成解决方案,看到生成SeqList.dll。


在x64-Debug文件下面可以看到生成的 SeqList.dll。

至此,SeqList.lib 和 SeqList.dll都已经制作成功,下面开始使用。
使用SeqList.lib 和 SeqList.dll
新建解决方案Project.sln,并新建include和lib文件,并将SeqList.h和SeqList.dll复制到.sln 同级目录。

依次点击调试-属性,打开属性配置页面。将include和lib目录分别加到包含目录和库目录。

并在连接器-添加附加依赖项中加入SeqList.lib

然后编写测试文件,注意此时没有用到SeqList.c 。
#include <stdio.h>
#include <stdlib.h>
#include "include/SeqList.h"
int main(int argc, char** argv)
{
SeqList L;
SeqInit(&L);
SeqPushBack(&L, 1);
SeqPushBack(&L, 5);
SeqPushBack(&L, 9);
SeqPushBack(&L, 7);
SeqPrint(L);
return 0;
}
点击生成解决方案,运行结果如下

行文至此,关于自定义库文件的制作与使用全部介绍完毕。
在windows平台使用Visual Studio 2017编译动态库并使用的更多相关文章
- Windows下使用Visual Studio 2010编译ffmpeg全过程
在visual studio 2010中调用ffmpeg http://blog.sina.com.cn/s/blog_4178f4bf01018wqh.html Windows下使用Visual S ...
- Visual studio 2017编译 boost
下载: https://www.boost.org/ 或者 https://dl.bintray.com/boostorg/release/1.66.0/source/ 下载完成以后解压到自己想要 ...
- 使用Visual Studio 2017编译opencv 3.2版本
一.背景介绍 opencv是一个很强大的开源的计算机视觉库,应用领域如人机互动,图像处理,人脸识别,和现实生活中智能设计的关系很紧密.现在官方提供的编译包中,c++的只提供了x64位的library, ...
- Microsoft Visual Studio 2017 编译最新版 libuv 1.x
步骤很简单 1 下载最新版的 libuv(地址:https://github.com/libuv 2 安装Git,Python 2.7 ,cmake(这里使用的是 3.11.0-win64-x64 版 ...
- 如何使用Visual Studio 2017调试.net库源代码
在Visual Studio 2017按如下步骤设置: 1.取消选中(工具 - >选项 - >调试 - >仅我的代码)复选框.2.确保设置了(工具 - >选项 - >调试 ...
- windows Visual Studio 2017 编译 HEVC cmake-3.8.1-win64-x64.msi 下载
ttps://github.com/OpenHEVC/openHEVC 下载一 直接下载源码(可选)或下载源码包,我这里下载的是源码 打开 Visual Studio () 去 github 找到源码 ...
- Windows下使用Visual Studio 2010 编译ffmpeg全过程
(注意:请务必先阅读:七,后记补充:) ffmpeg是一个开源的多媒体库,使用非常广泛. 在linux下编译ffmpeg非常简单,而在windows下编译就不是那么容易了.一般在windows下使用M ...
- 【FFMPEG】Windows下使用Visual Studio 2010编译ffmpeg全过程
原文 http://www.cnblogs.com/xylc/p/3683203.html 主题 FFmpegWindowsVisual Studio ffmpeg是一个开源的多媒体库,使用非常广泛 ...
- Microsoft Visual Studio 2017 编译最新版 libuv 1.x 并且生成 LIB 和 DLL 两种模式
以为昨天晚上编译通过就可以了,哪知道,早上编译DLL的一车的报错 今天开始逐个解决,终于把引用的问题一亿解决了,具体步骤如下 1 在 Windows 平台下编译出错,显示导出未定义,打开 uv-win ...
- 在Windows平台用visual studio编译的可执行文件部署时报:应用程序无法正常启动0xc000007b(跟DirectX9无关的原因)
最近在做EasyDarwin开源流媒体服务器Windows版本编译与部署时发现一个问题,在开发机本机运行都很正常,但是部署到目标机器(未安装vs等开发环境)时,莫名其妙报出了"应用程序无法正 ...
随机推荐
- ROS2的安装与使用(超详细图文教程)
ROS2的安装与使用(超详细图文教程) 如果前面的虚拟机以及Ubuntu22.04镜像都安装好了,根据目录直接跳到ROS2的安装. 资料参考于:古月居 VMware虚拟机的安装 安装地址: 对于不了解 ...
- [C++提高编程] 3.6 queue 容器
文章目录 3.6 queue 容器 3.6.1 queue 基本概念 3.6.2 queue 常用接口 3.6 queue 容器 3.6.1 queue 基本概念 概念:Queue是一种先进先出(Fi ...
- Centos7.x jmeter + ant + jenkins接口自动化框架部署
一.基础环境准备 1.jmeter安装(之前文章有介绍过) 2.ant安装 · 官网下载:https://ant.apache.org/bindownload.cgi · 上传服务器,执行 tar - ...
- ABC294Ex K-Coloring
Statement 对一张简单无向图进行 \(k\) 染色,满足对于每条边的两个端点颜色不同,求方案数. \(n,m\leq 30\). Solution 无向图 \(k\) 染色问题,很经典的问题. ...
- abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之下(六十四)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- IPS 和 IDS
IPS/IDS 什么是IPS和IDS IDS/IPS是检测和防止对网络服务器进行未授权的访问的系统.有许多产品同时有IDS和IPS的作用,作为加强企业信息安全所必须的系统 什么是IDS(Intrusi ...
- ubuntu18.04.4修改静态ip
ubuntu18.04.4修改静态ip 修改interfaces文件 sudo vim /etc/network/interfaces
- 2022-08-17:以下go语言代码输出什么?A:运行时 panic;B:32;C:编译错误;D:0。 package main func main() { var x *struct {
2022-08-17:以下go语言代码输出什么?A:运行时 panic:B:32:C:编译错误:D:0. package main func main() { var x *struct { s [] ...
- vue基础入门综合项目练习-悦听播放器
1.简介 根据B站视频 黑马程序员vue前端基础教程-4个小时带你快速入门vue 学习制作. 再次感谢 免费无私的教学视频. 感谢 @李予安丶 提供的精美的css. 2.展示 3.技术点 vue2 a ...
- 让优惠再续一年!SHPC 老客专享
最近云筏君经常收到自家小伙伴发来的关于产品活动的关心慰问,掐指一算,哦,原来是一年一度大家喜闻乐见的剁手节(学名"双十一")马上要来了! 大家都知道,云筏家的产品向来主打高性价比, ...