`
fourfire
  • 浏览: 415161 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

创建一个dll文件,并调用

    博客分类:
  • C
阅读更多
我用的是code:blocks
1 创建一个动态链接库工程
main.h
#ifndef __MAIN_H__
#define __MAIN_H__

#include <windows.h>
#include <string>
/*  To use this exported function of dll, include this header
 *  in your project.
 */

#ifdef BUILD_DLL
    #define DLL_EXPORT __declspec(dllexport)
#else
    #define DLL_EXPORT __declspec(dllimport)
#endif


#ifdef __cplusplus
extern "C"
{
#endif
//函数的形式
void DLL_EXPORT SomeFunction(const std::string sometext);

#ifdef __cplusplus
}
#endif

#endif // __MAIN_H__


main.cpp
#include "main.h"
#include <iostream>
#include <string>
// 这里是一个例子函数
void DLL_EXPORT SomeFunction(const std::string s)
{
    std::cout<<s<<std::endl;
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
            // attach to process
            // return FALSE to fail DLL load
            break;

        case DLL_PROCESS_DETACH:
            // detach from process
            break;

        case DLL_THREAD_ATTACH:
            // attach to thread
            break;

        case DLL_THREAD_DETACH:
            // detach from thread
            break;
    }
    return TRUE; // succesful
}

构建完成,生成dll
2 新建一个控制台程序工程
在头文件中增加
typedef void(*someFunction)(std::string s);

在cpp中调用
#include "wtypes.h"
..
 HINSTANCE hDll; //声明一个Dll实例文件句柄
hDll = LoadLibrary("testdll.dll");//testdll.dll动态连接库
someFunction f;
f = (someFunction)GetProcAddress(hDll,"SomeFunction");
f("Hello Dll!");

完成
分享到:
评论

相关推荐

    PB11.5创建DLL和调用示例_pb11添加新dll_PB11.5创建DLL和调用示例_

    总结起来,PB11.5创建DLL和调用示例是一个实用的教程,它涵盖了从设计接口、编写代码到编译和测试DLL的全过程。通过学习这个示例,开发者可以掌握在PB11.5环境下有效利用DLL提升软件开发效率和质量的关键技术。

    LabVIEW中DLL文件的创建及调用方法

    2. **创建项目管理器**:接着,在LabVIEW环境中创建一个项目管理器,并通过项目浏览器窗口执行相应的操作,如图3所示,以此为基础来创建DLL文件。 3. **设置DLL属性**:在创建了DLL之后,需要对其进行一些基本设置...

    ABAP 调用 DLL文件

    首先,我们需要创建DLL文件。在这个例子中,使用了Visual Basic 6.0(VB6)创建了一个ActiveX.DLL工程。在VB6中,定义了三个函数:`AbapCallVbDll`、`VbMsg`和`ReadDbData`。`AbapCallVbDll`接收一个整数作为参数并...

    DelphiDll创建与调用

    本篇文章将深入探讨如何在Delphi环境中创建DLL,并在其他程序中调用其函数。 首先,我们需要了解DLL的基本概念。DLL是一种可执行文件格式,它包含可由多个程序同时使用的代码和数据。Windows操作系统广泛支持DLL,...

    Delphi创建Dll和调用Dll示例(包含Dll窗体调用)

    Delphi创建Dll和调用Dll示例(包含Dll窗体调用) 网上介绍比较杂乱,特地整理了一份Demo代大家学习参考。 1.socketA_dll 为dll工程目录。 2.LoadDllDemo 为【静态调用】dll工程目录。 3.LoadDllDemo_动态调用 为...

    C语言创建DLL,并在C中调用DLL

    C语言创建DLL,并在C中调用DLL的知识点总结 C语言创建DLL并在C中...本文总结了C语言创建DLL文件,并在C语言中调用DLL文件的知识点。掌握这些知识点可以帮助开发者更好地使用DLL文件,提高应用程序的性能和可维护性。

    VB调用C# Dll文件

    首先,我们需要在C#中创建一个可供VB6调用的Dll。以下是一些关键步骤: 1. 使用Visual Studio 2008创建一个Class Library项目。 2. 定义接口并确保所有要在VB6中调用的方法都通过该接口实现,同时这些方法必须是...

    VS2010 VB如何生成DLL文件,调用DLL

    下面我们将详细探讨如何在VS2010中使用VB.NET生成DLL文件以及如何调用这个DLL。 **生成DLL文件的步骤:** 1. **创建新项目**:启动Visual Studio 2010,选择"文件" &gt; "新建" &gt; "项目"。在项目模板中,选择"Visual ...

    CVI调用VC编写的Dll文件.pdf

    在VC++环境中,创建DLL文件需要打开Visual C++程序,新建一个项目,并选择创建Win32 Dynamic Link Library项目。创建完毕后,需要编写相应的.cpp文件和头文件,其中头文件定义了要导出的函数或者类,通过宏定义控制...

    WinCC调用自定义DLL.rar

    本资源"WinCC调用自定义DLL.rar"提供了一个C++构建的DLL框架,使得用户可以将自己的控制模型或算法集成到WinCC中,实现更灵活、更个性化的控制逻辑。 首先,我们来理解什么是DLL。DLL(Dynamic Link Library)是...

    合并 DLL至EXE资源文件调用

    在C++中,可以使用`FindResource`、`LoadResource`和`LockResource`函数来找到、加载和锁定资源,然后使用`VirtualAlloc`和`CopyMemory`创建一个新的内存区域,将DLL数据复制过来。最后,使用`VirtualProtect`更改...

    vb调用dll的各种方法

    例如,可以在C盘根目录下创建一个专门用于存放DLL文件的目录(如“MyDll”),并将DLL文件放入其中。 4. **注册DLL文件**:除了简单的文件位置放置外,还可以选择注册DLL文件。注册DLL文件可以使操作系统更准确地...

    C#中创建和调用DLL实例

    首先,我们需要创建一个DLL项目。在Visual Studio中,选择"新建项目",然后在模板中找到"C#类库"项目。给项目命名,例如"myDLL",并点击"创建"。在新创建的类库项目中,我们可以编写我们要封装的公共方法或类。 ...

    c++ 创建动态链接库dll并调用

    本解决方案详细介绍了如何创建C++动态链接库DLL以及如何从另一个C++程序中调用其功能。以下是对整个过程的详细说明: 1. **创建DLL项目(mydll)**: - 在Visual Studio或其他C++编译环境中,新建一个Win32项目,...

    【原创-实例】DLL文件的调用(DLL启动器)-MCCS开发团队制作

    1. 创建DLL项目:在Visual Studio中创建一个新的DLL工程,并在其中定义一个或多个函数或类。 2. 导出函数:在DLL的源代码中,使用`__declspec(dllexport)`声明要导出的函数。 3. 编写主程序:创建一个独立的应用程序...

    DelphiXE10.3编写的静态dll及如何调用dll的示例

    `dll`是编译生成的静态DLL文件,而`exe`是调用DLL的可执行文件。通过分析和运行这两个文件,你可以更直观地了解静态DLL的使用方式。 总结来说,Delphi XE10.3创建静态DLL涉及定义接口、实现功能、导出接口以及在EXE...

    C#中创建及调用DLL

    本篇文章将深入探讨如何在C#中创建DLL以及如何在其他应用程序中调用这些DLL。 首先,我们来了解如何创建一个C# DLL。创建DLL的过程主要包括以下几个步骤: 1. **创建新项目**:在Visual Studio中,选择"文件" -&gt; ...

    java调用DLL文件

    首先,理解DLL文件:DLL(Dynamic Link Library)是Windows操作系统中的一个共享库,它包含了一组可执行函数和资源,可供多个应用程序同时使用,以节省内存并促进代码复用。 JNative是Java中用于调用本地方法的一个...

    QT调用dll和MFC调用QT的dll

    - 创建DLL:首先,你需要在QT环境中创建一个DLL项目,定义必要的接口和实现。在`Q_DECL_EXPORT`和`Q_DECL_IMPORT`宏的帮助下,可以正确处理导入和导出符号。 - 导入DLL:在主QT项目中,通过`LoadLibrary`和`...

Global site tag (gtag.js) - Google Analytics