zoukankan      html  css  js  c++  java
  • VC2010 编写DLL并调用;

    一  、 新建DLL项目

    文件- 新项目-win32控制台

    应用类型选择DLL,附件选项 选择导出符号 建立了 dllapp项目。

    在DLLapp.h  添加DLLAPP_API int Max(int a ,int b );

    // 下列 ifdef 块是创建使从 DLL 导出更简单的
    // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 DLLAPP_EXPORTS
    // 符号编译的。在使用此 DLL 的
    // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
    // DLLAPP_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
    // 符号视为是被导出的。
    #ifdef DLLAPP_EXPORTS
    #define DLLAPP_API __declspec(dllexport)
    #else
    #define DLLAPP_API __declspec(dllimport)
    #endif

    // 此类是从 dllapp.dll 导出的
    class DLLAPP_API Cdllapp {
    public:
        Cdllapp(void);
        // TODO: 在此添加您的方法。
        int Max(int a ,int b );
    };

    extern DLLAPP_API int ndllapp;

    DLLAPP_API int fndllapp(void);
    DLLAPP_API int Max(int a ,int b );

    在dllapp中添加函数

    DLLAPP_API int Max(int a ,int b )
    {
     if (a>b)return a;
     else return b;
       
    }

    // dllapp.cpp : 定义 DLL 应用程序的导出函数。
    //

    #include "stdafx.h"
    #include "dllapp.h"


    // 这是导出变量的一个示例
    DLLAPP_API int ndllapp=0;

    // 这是导出函数的一个示例。
    DLLAPP_API int fndllapp(void)
    {
        return 42;
    }
    DLLAPP_API int Max(int a ,int b )
    {
        if (a>b)return a;
        else return b;
        
    }
    // 这是已导出类的构造函数。
    // 有关类定义的信息,请参阅 dllapp.h
    Cdllapp::Cdllapp()
    {
        return;
    }

    编译通过后找到生成的 lib 和 dll文件

    新建一个项目来使用这个dllapp.MAX(int ,int )函数

    LINKER 输入中添加 dllapp.lib

    VC++目录添加 include 、lib等路径和调用其他DLL一样,系统PATH 添加dllapp.dll 路径

  • 相关阅读:
    笔试复习题《三》
    笔试复习题《二》
    《数据结构(C#语言描述)》
    设计模式《一》
    笔试复习题《一》之常用的排序算法
    序列模型(1)----简单介绍
    梯度消失、爆炸原因及其解决方法
    算法66------计算各个位数不同的数字个数【动态规划】
    TensorFlow实战学习笔记(14)------VGGNet
    TensorFlow技术解析与实战学习笔记(13)------Mnist识别和卷积神经网络AlexNet
  • 原文地址:https://www.cnblogs.com/cndavy/p/2544687.html
Copyright © 2011-2022 走看看