zoukankan      html  css  js  c++  java
  • C/C++中生成和使用DLL

     

    源代码: 下载


     

    一、        生成DLL

     

    1.       新建DLL工程

    生成DLL可以多种方法,这里介绍一种。在VS中,新建一个空的项目,选Win32 Console Application,新建完后修改工程属性:把生成EXE改为生成DLL

     

    2.       源代码:


    #include <iostream>

    #include <windows.h>

    using namespace std;

     

    #ifdef __cplusplus         // if used by C++ code

    extern "C" {                  // we need to export the C interface

    #endif

     

    __declspec(dllexport) void output()

    {

        MessageBox(NULL, "hello world", "hello", 0);

    }

     

    #ifdef __cplusplus

    }

    #endif

     

    3.       编译连接,生成dll.dll文件

     

    二、        使用DLL

     

    1.       新建工程

    新建一个Win32 Console Application,选择空的工程。

     

    2.       源代码:

    #include <iostream>

    #include <windows.h>

    using namespace std;

     

    void main()

    {

        HMODULE hMod = LoadLibrary("dll");

        if (hMod)

        {

            FARPROC a = GetProcAddress(hMod, TEXT("output"));

            if (a)

                a();

            else

                cout<<"ERROR on GetProcAddress"<<endl;

            FreeLibrary(hMod);

        }

        else

            cout<<"ERROR on LoadLibrary"<<endl;

    }

     

    3.       将上面工程生成的dll.dll文件复制到此工程的目录下,保证源文件与DLL文件在同一目录下。如果生成的EXE文件要直接运行,则要保证EXE文件与DLL文件在同一目录下。

    4.       编译连接,执行。

  • 相关阅读:
    批量修改Linux文件夹下所有文件大小写
    如何使用malloc申请一个二位数组
    CenOS 配置C/C++语言
    C++类定义,.h文件与.cpp文件之间的关系以及条件编译
    Error while building/deploying project...When executing step "qmake"——Qt Creator快速排错
    Hello World!
    HDU1262:寻找素数对
    NOIP1998复赛:2的幂次方表示
    HDU1002 : A + B Problem II
    Open Judge2748:全排列
  • 原文地址:https://www.cnblogs.com/cxun/p/736208.html
Copyright © 2011-2022 走看看