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 路径

  • 相关阅读:
    Luogu 2254 [NOI2005]瑰丽华尔兹
    Luogu 3168 [CQOI2015]任务查询系统
    Luogu U15118 萨塔尼亚的期末考试(fail)
    POJ 2778 DNA Sequence AC自动机 + 矩阵快速幂
    HDU 2457 DNA repair AC自动机 + dp
    POJ 3522 Slim Span 暴力枚举 + 并查集
    POJ 2955 Brackets 区间dp
    hdu 2604 Queuing dp找规律 然后矩阵快速幂。坑!!
    UESTC
    java & SQL
  • 原文地址:https://www.cnblogs.com/cndavy/p/2544687.html
Copyright © 2011-2022 走看看