Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++调用dll库函数没有lib文件

作者:倾尽尘光暖流年   发布日期:2025-10-30   浏览:95

#include <windows.h>
#include <iostream>

typedef int (__stdcall *MyFunction)(int, int);

int main() {
    // 加载DLL库
    HMODULE hDLL = LoadLibrary(L"example.dll");
    if (hDLL == NULL) {
        std::cerr << "Failed to load DLL" << std::endl;
        return 1;
    }

    // 获取函数指针
    MyFunction func = (MyFunction)GetProcAddress(hDLL, "Add");
    if (func == NULL) {
        std::cerr << "Failed to get function address" << std::endl;
        FreeLibrary(hDLL);
        return 1;
    }

    // 调用DLL中的函数
    int result = func(5, 3);
    std::cout << "Result: " << result << std::endl;

    // 卸载DLL库
    FreeLibrary(hDLL);

    return 0;
}

解释说明:

  1. 加载DLL库:使用 LoadLibrary 函数加载指定的 DLL 文件。这里假设 DLL 文件名为 example.dll
  2. 获取函数指针:使用 GetProcAddress 函数获取 DLL 中导出函数的地址。这里假设导出函数名为 Add,并且它是一个标准调用约定(__stdcall)的函数,接受两个整数参数并返回一个整数。
  3. 调用DLL中的函数:通过函数指针调用 DLL 中的函数,并传递参数。
  4. 卸载DLL库:使用 FreeLibrary 函数卸载已加载的 DLL 库,释放资源。

如果在上述过程中遇到任何错误(如无法加载 DLL 或无法获取函数地址),程序会输出相应的错误信息并退出。

上一篇:c++文件读取

下一篇:c++ 初始化数组

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

队列c++

c++freopen怎么用

进制转换c++代码

c++ 获取系统时间

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站