在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等开发环境)时,莫名其妙报出了"应用程序无法正 ...
随机推荐
- 如何获取苹果设备的UDID(iPhone/iPad UDID查询方法)
方法一.通过电脑连接苹果手机后查询 1.在电脑上下载并安装爱思助手,安装完成后将电脑和苹果手机使用苹果数据线连接起来: 编辑切换为居中 添加图片注释,不超过 140 字(可选) 然后启动爱思助 ...
- 简单记录下RestTemplate使用方法
1.设置get方法 ResponseEntity<JSONObject> responseEntity= restTemplate.getForEntity(url,JSONObject. ...
- Gradio入门到进阶全网最详细教程[二]:快速搭建AI算法可视化部署演示(侧重参数详解和案例实践)
Gradio入门到进阶全网最详细教程[二]:快速搭建AI算法可视化部署演示(侧重参数详解和案例实践) 相关文章:Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建 ...
- react中super()的理解
首先 super() 是在 es6的class(类)的方法创建组件出现 下面是分别是构造函数创建组件和class(类)创建组件 构造函数方法创建组件 在构造函数方法中,在组件接收参数的时候,props ...
- springMVC中注解
其中常见注解: 1.@RequestMapping:用于请求url路径,可用于类和方法上,用于类上,则表示类中所有响应请求的方法都是以该路径作为父路径. 2.@RequestBody:注解实现接收 h ...
- 2020-10-29:使用redis实现分布式限流组件,要求高并发场景同一IP一分钟内只能访问100次,超过限制返回异常,写出实现思路或伪代码均可。
福哥答案2020-10-29: 简单回答:固定窗口:string.key存ip,value存次数.滑动窗口:list.key存ip,value=list,存每次访问的时间. 中级回答:固定窗口:用re ...
- 这款全自动自适应工具你用过了吗?autofit.js请求加入你的战场!
前段时间做了一个自适应的小工具(autofit.js) 经过一段时间的试用,同学们发现了工具存在的一些问题,我自己也发现了一些,这篇文章是针对这些问题撰写的. autofit.js autofit.j ...
- Burpsuite抓包工具的使用
一.打开工具 1处箭头为 代理127.0.0.1 端口8080 2处箭头为 证书 将证书ca下载到桌面上 选择第一个 选择下载到桌面即可 可以修改其后缀为der 此即为证书文件 此处使用火狐浏览器为示 ...
- 【Java】包名规范及整理
目录 前言 包名规范 总结 前言 最近学习Java的时候,有一个 class 需要在每一个 java文件中写一写,然后我喜欢一次实验的java文件放到一个 Package 中,这就导致了持续不断的报错 ...
- 一文读懂面试官都在问的Fastjson漏洞
Fastjson1.2.24-RCE漏洞 漏洞简介 fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符 ...