自己编写DLL并导出函数
2024-10-12 18:05:35
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=,b=;
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 ;
}
方法二:
第一步:
第二步:
#include<windows.h> #include<stdio.h>
#include"sub.h" //#pragma comment(lib,"subDll.lib") int main()
{
int a=,b=;
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 ;
}
编译运行成功!
最新文章
- Pyqt 控件的信号槽事件定义方法
- 内部通信服务Factory(WCF)
- CSS3中的box-shadow
- Maven 创建多模块工程
- Nmap使用指南(1)
- 蛮考验基础的JS笔试题(有坑小心!)
- H5神器之canvas应用——网页修改保存图片
- javascript 去除字符串中重复字符
- C#中调用c++的dll具体创建与调用步骤,亲测有效~
- linkin大话数据结构--泛型
- springmvc结合ajax的分页功能
- 用Fiddler在Android上抓包(Http+https)
- cerebro 配置
- 使用spark streaming报错ERROR DFSClient: Failed to close inode xxxx
- angular5 基于ngx-translate实现多语言切换
- MepReduce-开启大数据计算之门
- BNU Concentric Rings
- Context Menus
- java设计模式 策略
- Python 2.7_爬取CSDN单页面利用正则提取博客文章及url_20170114