创建DLL文件

作者: John Pratt
创建日期: 11 二月 2021
更新日期: 1 七月 2024
Anonim
6-Qt创建C++动态库DLL
视频: 6-Qt创建C++动态库DLL

内容

DLL文件是用C ++编写和控制的动态链接库文件。 DLL使共享,存储和保存代码变得容易。此WikiHow教您如何使用Windows上的Visual Studio或Mac上的Visual Studio创建DLL文件。在安装时,请确保已选中“使用C ++进行桌面开发”。如果您已经拥有Visual Studio但未选中该复选框,则可以再次运行安装程序以确保已安装。

  1. 打开Visual Studio。 您可以在“开始”菜单或“应用程序”文件夹中找到该程序。由于DLL是一个信息库,因此它仅是项目的一部分,通常需要一个配套的应用程序来访问它。
    • 您可以在此处下载适用于Windows的Visual Studio:https://docs.microsoft.com/zh-cn/visualstudio/install/install-visual-studio?view=vs-2019
    • 您可以在此处下载适用于Mac的Visual Studio:https://docs.microsoft.com/zh-cn/visualstudio/mac/installation?view=vsmac-2019
    • 此WikiHow使用Microsoft提供的代码来解释如何构建DLL文件。
  2. 点击文件。 您可以在项目室上方(Windows)或屏幕顶部(Mac)找到它。
  3. 点击 新的项目. 出现“创建新项目”对话框。
  4. 建议选项 , 平台项目类型 在。 这些将过滤出现的项目模板类型。
    • 点击 获取下拉菜单,然后单击 C ++.
  5. 点击 平台 获取下拉菜单,然后单击 视窗.
  6. 点击 项目类型 获取下拉菜单,然后单击 图书馆.
  7. 点击 动态链接库(DLL). 您的选择将变成蓝色。点击 下一个 继续。
  8. 在名称框中键入项目的名称。 例如,在样品名称框中键入“ MathLibrary”。
  9. 点击 使. DLL项目已创建。
  10. 将头文件添加到DLL。 您可以通过单击 新增项目 以下 项目 在菜单栏中。
    • 选择 Visual C ++ 在对话框的左侧菜单中。
    • 选择 头文件(.h) 在对话框的中央。
    • 在菜单选项下方的名称字段中,将名称键入为“ MathLibrary.h”。
    • 点击 添加 生成空的头文件。
  11. 在空的头文件中键入以下代码。

      // MathLibrary。(n)为{n = 0,a // {n = 1,b // {n> 1,F(n-2)+ F(n-1)//对于某些初始整数值a和b。 //如果序列已初始化F(0)= 1,F(1)= 1,//则此关系返回众所周知的斐波那契//行:1,1,2,3,5,8,13, 21,34,... //初始化斐波那契关系字符串// //使F(0)= a,F(1)= b。 //必须先调用此函数。外部“ C” MATHLIBRARY_API void fibonacci_init(const unsigned long long a,const unsigned long long b); //返回该行中的下一个值。 //成功返回True并更新当前值和索引; //溢出时为False,保持当前值和索引不变。外部“ C” MATHLIBRARY_API bole fibonacci_next(); //获取行中的当前值。外部“ C” MATHLIBRARY_API unsigned long long fibonacci_current(); //获取当前值在行中的位置。 extern“ C” MATHLIBRARY_API无符号fibonacci_index();

    • 这是Microsoft帮助网站上的示例代码。
  12. 将CPP文件添加到DLL。 您可以通过单击 新增项目 以下 项目 在菜单栏中。
    • 选择 Visual C ++ 在对话框的左侧菜单中。
    • 选择 C ++文件(.cpp) 在对话框的中央。
    • 在菜单选项下方的名称字段中,将名称键入为“ MathLibrary.cpp”。
    • 点击 添加 生成空文件。
  13. 在空白文件中键入以下代码。

      // MathLibrary.cpp:定义DLL的导出函数。 #include“ stdafx.h” //在Visual Studio 2019中使用pch.h #include实用程序>#includelimits.h> #include“ MathLibrary.h” // DLL内部状态变量:静态无符号长long previous_; //前一个值(如果存在)static unsigned long long current_; //当前字符串值static unsigned index_; //当前序列position //初始化斐波那契关系序列// //使F(0)= a,F(1)= b。 //必须先调用此函数。 void fibonacci_init(const unsigned long long a,const unsigned long long b){index_ = 0; current_ = a; previous_ = b; //初始化时查看特殊情况} //产生序列中的下一个值。 //成功返回true,溢出返回false。 bool fibonacci_next(){//如果((ULLONG_MAX-previous_ current_)||(UINT_MAX == index_))检查结果或位置是否溢出(返回false; } //在index == 0的特殊情况下,如果(index_> 0){//否则,返回下一个值,则计算下一个序列值previous_ + = current_; } std :: swap(current_,previous_); ++ index_;返回true; } //获取字符串中的当前值。 unsigned long long fibonacci_current(){返回current_; } //获取当前索引在行中的位置。无符号fibonacci_index(){返回index_; }

    • 这是Microsoft帮助网站上的示例代码。
  14. 点击 编译 在菜单栏中。 您可以在项目字段上方(Windows)或屏幕顶部(Mac)找到此按钮。
  15. 点击 编译解决方案. 单击该按钮后,您应该看到如下文本:

      1> ------构建开始:项目:MathLibrary,配置:调试Win32 ------ 1> MathLibrary.cpp 1> dllmain.cpp 1>生成代码... 1>创建库C: Users 用户名源回购 MathLibrary 调试 MathLibrary.lib和对象C:用户用户名源回购 MathLibrary 调试 MathLibrary.exp 1> MathLibrary.vcxproj-> C:用户用户名源 Repos MathLibrary Debug MathLibrary.dll 1> MathLibrary.vcxproj-> C: Users 用户名 Source Repos MathLibrary Debug MathLibrary.pdb(部分PDB)==========构建:成功1项,失败0项,最新0项,跳过0项==========

    • 如果您成功创建了DLL,则会在此处看到它。如果发生错误,将在此处列出,以便您进行修复。