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.       编译连接,执行。

  • 相关阅读:
    win7下iis中配置php.ini文件
    editplus快捷键大全
    树和二叉树的存储结构的实现(C/C++实现)
    CTF---编程入门第一题 循环
    CTF---Web入门第九题 FALSE
    CTF---Web入门第八题 Guess Next Session
    CTF---Web入门第七题 猫抓老鼠
    CTF---Web入门第六题 因缺思汀的绕过
    CTF---Web入门第五题 貌似有点难
    CTF---Web入门第四题 Forms
  • 原文地址:https://www.cnblogs.com/cxun/p/736208.html
Copyright © 2011-2022 走看看