C/C++中生成和使用DLL

Posted on 2012-03-15 12:10  无忧consume  阅读(375)  评论(0编辑  收藏  举报

http://www.cnblogs.com/cxun/archive/2007/05/05/736208.html

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

Copyright © 2024 无忧consume
Powered by .NET 8.0 on Kubernetes