• 【DLL相关】实现函数的DLL封装,并在另一个项目中调用


    直接给出步骤:

    ===========函数的DLL封装===========

    1.创建第一个项目:win32控制台程序,应用程序类型:DLL,附加选项:导出符号(命名:double_dll)

    2.double_dll.h中加入函数定义
       extern DOUBLE_DLL_API int doublefun(int);//DOUBLE_DLL_API 根据项目名称不同而不同

    3.double_dll.cpp加入函数实现
     extern DOUBLE_DLL_API int doublefun(int x)//DOUBLE_DLL_API 根据项目名称不同而不同
     {
      return 2*x;
     }

    4.编译(产生的将是dll、lib文件,不是应用程序)

    注:如果用Dependency Walker可以在编译后生成的double_dll.dll中看到int doublefun(int),那么说明我们已经把函数doublefun封装进dll,剩下的就是阐述如何在另外一个项目中调用这个dll文件中的函数。

    ===========调用DLL文件中的函数===========

    1.创建第二个项目:普通的win32空项目(命名:call_doublefun)

    2.把第一个项目编译后产生的.h放入与第二个项目的.cpp文件同一目录(方便include)

    3.把第一个项目编译后产生的.dll和.lib放入第二个项目的Debug(就是应用程序的出生地)

    4.设置:链接器-常规-附加库目录XXX\Projects\call_doublefun\Debug(这里的“XXX”所指代的大家都明白的)

    5.设置:链接器-输入-附加依赖项double_dll.lib

    6.在第二个项目的cpp文件的合适位置加入两句话

       第一句#include "double_dll.h"
       第二句extern _declspec(dllimport) int doublefun(int); 

    举例:

    #include <iostream>
    #include "double_dll.h"
    using namespace std;
    extern _declspec(dllimport) int doublefun(int); 
    void main()
    {
     int x=0;
     cout<<"Please input X:";
     cin>>x;
     cout<<"2*X=";
     cout<<doublefun(x)<<endl;
    }

    参考:http://www.php18.com/tutorial-3150.html

  • 相关阅读:
    翻转单词顺序列
    和为S的两个数字
    单例模式
    python利用pyinstaller打包常用打包命令
    python 3.8 使用pymssql 向SQL Server插入数据不成功原因
    PyQt5(designer)入门教程
    PyQt5中文教程
    scrapy 图片爬取 多层多页 保存不同的文件夹 重命名full文件夹
    安装Python + PyCharm + PyQt5配套设置
    python用pymysql模块操作数据库MySQL,实现查增删改
  • 原文地址:https://www.cnblogs.com/caixu/p/1930951.html
Copyright © 2020-2023  润新知