zoukankan      html  css  js  c++  java
  • DLL导出

    DLL导出有两种方式:

      一、使用__declspec(dllexport);

      二、采用模块定义(.def)文件声明,(.def)文件为链接器提供了有关被链接程序的导出、属性及其他方面的信息。(模块定义.def文件);

    方式一、使用__declspec(dllexport);

    #ifdef DLLWRAP_EXPORTS
    #define DLLWRAP_API __declspec(dllexport)
    #else
    #define DLLWRAP_API __declspec(dllimport)
    #endif
    

    导出变量: 

    DLLWRAP_API int n;
    

    导出函数: 

    DLLWRAP_API int fndllwrap(void) { return 1; }
    

    导出class:

    class DLLWRAP_API Cdllwrap {
    public:
    Cdllwrap(void);
    // TODO: add your methods here.
    };
    // This is the constructor of a class that has been exported.
    Cdllwrap::Cdllwrap()
    {
    return;
    }
    

    方式二、采用模块定义.def文件

    extern "c" {
        int add(int a, int b);
    }
    
    int add(int a, int b)
    {
    return a +b;
    }
    

    test.def

    ;导出dll函数

    DEESCRIPTION

    LIBRARY dlltest

    EXPORTS

        add @1 PRIVATE

  • 相关阅读:
    CMS、G1收集器
    一文入门Redis
    一文解析TCP/UDP
    ubuntu官方源
    一、单体架构分析
    netty简介2
    netty简介
    安装vmware tool
    jdk1.8安装(转载)
    HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
  • 原文地址:https://www.cnblogs.com/coderyoyo/p/1869739.html
Copyright © 2011-2022 走看看