首页 > 代码库 > 自己编写DLL并导出函数

自己编写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\n",a,b,add(a,b));    c=sub(a,b);    printf("%d-%d=%d\n",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\n",a,b,add(a,b));    c=sub(a,b);    printf("%d-%d=%d\n",a,b,c);    return 0;}

编译运行成功!

 

自己编写DLL并导出函数