zoukankan      html  css  js  c++  java
  • 如何调用 DLL 中的C++ 类(隐式链接)

     

    如何调用DLL 中的C++类(隐式链接)

    最近在整DLL,对于从DLL中导出 c++类,自己的学习笔记如下:

    我用的是VS2010. 不过其他VS编译器应该都差不多吧!



    步骤一:建一个 win32解决方案,主工程(就是还有 main函数的)那个我就不说

                      了),DLL工程最后一步的Application type选中Dll

    步骤二: DLL工程中添加两个文件: clsDLL.h, clsDLL.cpp

     

    //clsDLL.h

     

    #pragmaonce

     

    #ifndef  DLLEXPT

    #defineDLLEXPT __declspec (dllexport)

    #endif

     

    classDLLEXPT myCls

    {

    public:

         void test();

    };

     

     

     

    // classDLL.cpp : Defines the exported functions for the DLLapplication.

    //

     

    #include"clsDLL.h"

    #include<stdio.h>

     

    #ifndef  DLLEXPT

    #defineDLLEXPT __declspec (dllexport)

    #endif

     

    voidmyCls::test()

    {

         printf("we are testing my program!/n");

    }

     

     

     

    步骤三:在主工程中的 main.cpp文件中,

                     添加#include"..//clsDLL/clsDLL.h" ,就是 include上面 DLL中头文件。

    步骤四:在主工程中的main.cpp文件中,

                     添加#pragma comment (lib , "..//Debug//clsDLL.lib"), 实现隐式连接。

    步骤五:接下来就和使用一般 C++类没有区别了。

                    Main.cpp文件内容如下:

    #include<stdio.h>

    #include"..//clsDLL/clsDLL.h"

     

    #pragmacomment(lib ,"..//Debug//clsDLL.lib")

     

    voidmain()

    {

         myCls c;

         c.test();

    }

     

     

     

     

     

  • 相关阅读:
    Oracle OMF 创建数据库
    Oracle 数据库修改数据文件
    oracle 12c 安装文档
    mysql5.7 多次增量备份及恢复测试
    Mysql 数据库模拟误操作基于binlog恢复
    基于scn号恢复oracle数据库测试
    读源码 | metisMenu侧边栏插件
    JavaScript | JQuery插件定义方法
    JavaScript | 模拟文件拖选框样式 v1.0
    JavaScript | JSON基本格式
  • 原文地址:https://www.cnblogs.com/java20130722/p/3207157.html
Copyright © 2011-2022 走看看