当前位置: 首页 > news >正文

杭州意法疫情安卓优化大师旧版本

杭州意法疫情,安卓优化大师旧版本,怎么注册免费网站,在线设计平台有什么用C动态库 动态库文件(Dynamic Link Library,DLL)是程序在运行时所需要调用的库。静态库文件是程序在编译时所需要调用的库。 1 环境介绍 VS版本:VS2017 编程语言:C 2 功能介绍 使用VS2017项目模板创建C动态库生成…

C++动态库

动态库文件(Dynamic Link Library,DLL)是程序在运行时所需要调用的库。静态库文件是程序在编译时所需要调用的库。

1 环境介绍

VS版本:VS2017

编程语言:C++

2 功能介绍

使用VS2017项目模板创建C++动态库生成工程,编写功能函数,并生成动态库;然后再创建一个C++工程调用动态库中的功能函数进行测试。

3 创建动态库

3.1 新建“具有导出项的(DLL)动态链接库”模板

在“新建项目”窗口中,选择“Visual C++ -> Windows桌面 -> 具有导出项的(DLL)动态链接库”,并设置项目名称和位置。本示例的名称设为Dll_Library,存放在G:\C++\Practices中。
在这里插入图片描述

3.2 实现功能函数

创建完成后,该项目下会自动生成一个示例模板:Dll_Library.hDll_Library.cpp。在.h文件中进行函数申明或类定义,在.cpp文件中进行实现。

3.2.1 Dll_Library.h

#ifdef DLLLIBRARY_EXPORTS
#define DLLLIBRARY_API __declspec(dllexport)
#else
#define DLLLIBRARY_API __declspec(dllimport)
#endif// 模板中自动提供的示例
// 此类是从 dll 导出的
class DLLLIBRARY_API CDllLibrary 
{
public:CDllLibrary(void);// TODO: 在此处添加方法。static void Print();
};extern DLLLIBRARY_API int nDllLibrary;
extern DLLLIBRARY_API int fnDllLibrary(void);// 自己编写的功能函数
extern DLLLIBRARY_API void Print(void);
extern DLLLIBRARY_API int sum(int a, int b);

3.2.2 Dll_Library.cpp

// Dll_Library.cpp : 定义 DLL 的导出函数。#include "pch.h"
#include "framework.h"
#include "Dll_Library.h"
#include <iostream>
using namespace std;// 这是导出变量的一个示例
DLLLIBRARY_API int nDllLibrary = 0;// 这是导出函数的一个示例。
DLLLIBRARY_API int fnDllLibrary(void)
{cout << "调用fnDllLibrary成功" << endl;return 0;
}// 这是已导出类的构造函数。
DLLLIBRARY_API CDllLibrary::CDllLibrary()
{return;
}
// 这是实现导出类中的成员函数
DLLLIBRARY_API void CDllLibrary::Print()
{cout << "通过CDllLibrary进行Print" << endl;
}// 实现自己定义的功能函数
DLLLIBRARY_API void Print(void) 
{cout << "直接进行Print" << endl;
}DLLLIBRARY_API int sum(int a, int b)
{int c = a + b;return c;
}

3.3 编译生成动态库

右键点击项目,选择“生成”来编译生成动态库。
在这里插入图片描述
在这里插入图片描述

3.4 调用动态库中功能函数

在“新建项目”窗口中,选择“Visual C++ -> Windows桌面 -> 控制台应用”,并设置项目名称和位置。本示例的名称设为UseDLL,存放在G:\C++\Practices中。

3.4.1 UseDLL.cpp

#include "Dll_Library.h"
#include <iostream>
// 使用DLLLIBRARY.lib
#pragma comment(lib, "DLLLIBRARY.lib")using namespace std;
int main()
{int a = fnDllLibrary();cout << "DLL中的变量nDllLibrary:" << nDllLibrary << endl;CDllLibrary::Print();Print();int b = sum(12, 34);cout << "求和:" << b << endl;return 0;
}

3.4.2 链接.h头文件

由于Dll_Library.h不在UseDLL项目目录中,会提示#include "Dll_Library.h"引用失败。

3.4.2.1 复制Dll_Library.h到UseDLL项目目录中

该方法虽然能够解决该问题,但是在后续修改Dll_Library项目后仍需要重新复制。

3.4.2.2 在UseDLL中配置附加包含目录

右键点击UseDLL项目,选择“属性”,在属性页窗口中:

  1. 将“配置”选择为“所有配置”,“平台”选择为“所有平台”;
  2. 在“配置属性 -> C/C++ -> 常规 -> 附加包含目录”中添加Dll\_Library.h所在目录的路径。
    在这里插入图片描述

3.4.3 链接.lib文件

在使用 #pragma comment(lib, "DLLLIBRARY.lib")时,默认和UseDLL的.cpp文件在同一文件夹下。将DLLLIBRARY.lib文件复制到UseDLL.cpp的同一文件夹下也能够解决问题,但后续修改时仍然需要复制。

3.4.3.1 在UseDLL中配置附加库目录

右键点击UseDLL项目,选择“属性”,在属性页窗口中:

  1. 在“配置属性 -> 链接器 -> 输入 -> 附加依赖项”中添加 DLLLIBRARY.lib。
    在这里插入图片描述

3.4.4 链接.dll文件

当调试运行程序时,会出现“找不到.dll文件”的错误,需要将dll文件拷贝到项目运行目录下,此示例下需要拷贝到G:\C++\Practices\UseDLL\Debug下,通常在程序发布时要这么做,但是在调试时不建议这么做,因为后续修改时需要重新拷贝复制。

3.4.4.1 在UseDLL中配置调试环境

右键点击UseDLL项目,选择“属性”,在属性页窗口中:

  1. 在“配置属性 -> 调试 -> 环境”中添加DLLLIBRARY.dll所在的目录路径。
    在这里插入图片描述

3.5 运行结果

在这里插入图片描述

http://www.zhongyajixie.com/news/39842.html

相关文章:

  • 品牌网站建设有哪两种模式百度搜索引擎介绍
  • 现在的网站前端用什么做关于进一步优化 广州
  • 开一家公司最低注册资金网站的排名优化怎么做
  • 西南交通建设集团有限公司网站南京网站排名提升
  • 做网站 图片需要多大的青岛 google seo
  • 做网站现在用什么语言百度搜索排行榜
  • 网站开发发帖语言淘宝推广哪种方式最好
  • 建立公司网站()佛山百度提升优化
  • 企业做网站c盘优化大师
  • python网站开发教程网络营销策划的流程
  • 做游戏的网站有哪些抚顺网络推广
  • 三好街做网站的公司百度推广账户优化
  • 全屋定制怎么样做网站营销型网站一般有哪些内容
  • 有专门做消除网站上对公司不利的收录优美的图片
  • 福州网站制作好的企业百度seo怎么样优化
  • 网站结构有哪些类型网络营销师怎么考
  • 国内wordpress教程天津seo诊断
  • wordpress 非插件代码高亮seo属于什么职业部门
  • 温州网站建设优化百度搜索一下就知道
  • 建设网站 软件北京seo公司排名
  • 优化方案物理必修一电子版seo研究中心学员案例
  • 全屋定制十大名牌口碑重庆网站seo多少钱
  • 石家庄网站开发培训网站优化是什么意思
  • 西安制作网站公司百度小说搜索风云榜
  • 佛山网站设计资讯分享几个x站好用的关键词
  • 简单个人网站制作教程软文宣传推广
  • 建站公司生存难中国营销策划第一人
  • 造价人员做兼职的网站营销推广的方法有哪些
  • 做网站发布信息陕西网站制作
  • 雍熙网站建设百度号码认证平台官网