zoukankan      html  css  js  c++  java
  • c++中DLL文件的编写与实现——三步走(2)

    (本方法调用方需要.lib  .dll)

      (问的人多了) C++在调用Dll中的函数的时候,如果是企业内部的话,肯定是希望三件套的方式(.h\.lib\.dll)。这样做的话,编写方可以在头文件中写入很多信息,方便调用方的调用。但是,一旦是给其他公司的人使用,而不想让别人看到的话,那编写方肯定是不想让别人看到过多的信息的,你只管调用。

       还有一点是 dll是在调试的时候使用的,lib是编译的时候使用的,两者是不同时期使用的工具

    如何操作
    首先创建一个空的DLL文件,创建方法:新建——项目——Win32控制台程序——然后取个名字——确定——下一步——选择DLL——勾选空白项目。顺利新建了名字为Dll1的项目。项目中有这些东西(VS2017)

    现在我们在Dll1.cpp中写点

    #include "stdafx.h"
    extern "C" _declspec(dllexport) int add(int a, int b) {

    return a + b;
    }
    然后编译,不过注意平台的设置


    尽量和调用方一致嗷,避免白给。

    然后点击生成

    在x64——deBug目录下 找到Dll1.dll和Dll1.lib。

    Dll编写我们算是结束了 接下来需要重新新建一个Win32的控制台程序取名字为Test

    然后在Test.cpp中加入以下代码:

    #include "pch.h"
    #include <iostream>
    #include<Windows.h>
    #pragma comment(lib,"Dll1.lib")

    extern "C" __declspec(dllimport) int __stdcall add(int a,int b);
    int main()
    {
    std::cout << add(1, 3);
    std::cout << "Hello World!\n";
    }
    现在你编译的话,会提示你找不到Dll1.lib

    因为你还没有加进来,右击项目——属性——VC++目录——库目录,添加Dll1.lib所在的位置。然后连接器——输入——附加依赖项中,加入Dll1.lib。

    最后记得将Dll1.dll放到Test项目中的x64—degub目录下(EXE与Dll要在一个目录下因为)

    最最后 点击调试

    前面有一个4 看到没!!!懒得换行了

    就是这样
    ————————————————
    版权声明:本文为CSDN博主「windmeeeeee」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_34097715/article/details/90060930

  • 相关阅读:
    主外键 子查询
    正则表达式
    css3 文本效果
    css3 2d
    sql 基本操作
    插入 视频 音频 地图
    j-query j-query
    document
    js dom 操作
    js
  • 原文地址:https://www.cnblogs.com/freedomworld/p/12294960.html
Copyright © 2011-2022 走看看