• 自己编写DLL并导出函数


    sub.c

    #include<windows.h>
    #include"sub.h"
    int WINAPI DllMain(_In_ HANDLE _HDllHandle, _In_ DWORD _Reason, _In_opt_ LPVOID _Reserved)   
    {   
        return TRUE;   
    } 
    
    
    EXPORT int sub(int a,int b)
    {
        return a-b;
    
    }
    
    EXPORT int add(int a,int b)
    {
        return a+b;
    }

    sub.h

    #ifdef __cplusplus   
    #define EXPORT extern "C" __declspec (dllexport)   
    #else   
    #define EXPORT __declspec (dllexport)   
    #endif   
    
    
    EXPORT int sub(int a,int b);
    EXPORT int add(int a,int b);

    然后生成解决方案:

    即可在Debug/Release目录中看到一个 sub.lib,sub.dll

    然后我们把

    sub.lib,sub.dll,sub.h这3个文件打包  就可以给用户使用了。

    如何使用?

    方法一:可以把这3个文件拷贝到当前目录下使用显示的链接:

    #include<windows.h>
    
    #include<stdio.h>  
    #include"sub.h"
    
    
    #pragma comment(lib,"subDll.lib")  
    
    
    int main()
    {
        int a=4,b=1;
        int c;
    //    printf("%d+%d=%d
    ",a,b,add(a,b));
        c=sub(a,b);
        printf("%d-%d=%d
    ",a,b,c);
        return 0;
    }

    方法二:

    第一步:

    第二步:

    #include<windows.h>
    
    #include<stdio.h>  
    #include"sub.h"
    
    
    //#pragma comment(lib,"subDll.lib")  
    
    
    int main()
    {
        int a=4,b=1;
        int c;
    //    printf("%d+%d=%d
    ",a,b,add(a,b));
        c=sub(a,b);
        printf("%d-%d=%d
    ",a,b,c);
        return 0;
    }

    编译运行成功!

  • 相关阅读:
    第六周作业
    2019第四周作业(基础作业+挑战作业)
    第三周作业
    2019第二周基础作业
    求最大值及下标值
    查找整数
    学期总结
    打印沙漏
    币值转换
    远程连接centos7的mysql5.7+ 更改iptables方法
  • 原文地址:https://www.cnblogs.com/qiangua/p/4007390.html
Copyright © 2020-2023  润新知