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; }
编译运行成功!