• VS2017动态链接库(.dll)的生成与使用


    转 https://blog.csdn.net/m0_37170593/article/details/76445972

    这里以VS2017为例子,讲解一下动态链接库(.dll)的生成与使用。

    一、动态链接库(.dll)的生成

    1、打开:“文件”-“新建”-“项目”

    2、打开:“已安装”-“模板”-“Visual C++”-“Win32”-“Win32 控制台应用程序”

         把文件“名称”加上,为自己的工程名称;把“位置”加上,为自己的工程所在位置;

    3、点击:“下一步”

    4、选择“DLL”和“空项目”

         然后点击“完成”

    5、右击“panny_dll”项目,点击“添加”,点击“新建项”

    6、点击“c++文件(.cpp)”,写上文件的“名称”为“panny_dll.cpp”

    7、同样添加“panny_dll.h”

    8、在“panny_dll.cpp”中添加程序如下

    #include "panny_dll.h"
    int panny(int i, int(*call_back)(int a, int b))
    {
    int aa;
    aa = i*i;
    call_back(i, aa);
    return 0;
    }

    9、在头文件“panny_dll.h”中添加如下代码

    #pragma once
    __declspec(dllexport) int panny(int i, int(*call_back)(int a, int b));

    10、点击“生成”-“重新生成解决方案”

    11、如图,成功。

    12、生成了.dll和.lib的文件

    二、使用.dll文件

    1、新建项目

    2、如图,添加项目名称为“panny_dll_test”

    3、点击“下一步”

    4、选择“控制台应用程序”和“空项目”,然后点击“完成”

    5、把“.dll”和“.lib”放到如图的文件夹里面

    6、把“panny_dll.h”放到如图的文件夹里面

    7、添加一个新建项“panny_dll_test.cpp”,方法参考“一”中的“5和6”

    8、在panny_dll_test.cpp文件夹里面添加如下代码

    #include <stdio.h>
    #include "panny_dll.h"
    int panny_call_back(int a, int b)
    {
    int c;
    c = a + b;
    printf("输出:%d ", c);
    return 11;
    }
    void main()
    {
    int p = 10;
    int panny1;
    panny1 = panny(p, panny_call_back);
    printf("输出2:%d ", panny1);
    }

    9、添加头文件“panny_dll.h”

    10、添加"panny_dll.lib"到资源文件

    11、点击“重新生成解决方案”

    12、成功

    13、执行如下

  • 相关阅读:
    MongDB in Rails 3 using mongo_mapper
    Cucumber + Capybara What we need for rails integration test
    HTML5 drag & drop 拖拽与拖放简介
    Installing GitLab 2.1 on Centos 6
    CakePHP的belongsTo关系中关于外键关联字段都不是id字段的问题
    Mod_rewrite in Cakephp using Apache
    How to Configure Static IP Address on CentOS 6.3 Linux Server
    mongoDB 入门指南、示例
    MVC3/4项目开发中遇到的ajax提交Json数据到后台Controller处理(接收参数)
    ASP.NET jQuery (表单中使用回车在TextBox之间向下移动)
  • 原文地址:https://www.cnblogs.com/it-tsz/p/10701564.html
Copyright © 2020-2023  润新知