首页
社区
课程
招聘
[分享]C++Build6编译DLL并调用的简单例子
发表于: 2015-8-12 23:17 3832

[分享]C++Build6编译DLL并调用的简单例子

2015-8-12 23:17
3832
一直用Delphi7, 用着挺好的, 就是抄C代码要翻译比较麻烦
最近在学习LUA的应用, 因为LUA源码是C语言编的, 头文件比较大, 要转换到Delphi很费时间
而且LUA也在不断升级, 所以学习用C++Build6
写一些扩展的DLL库供LUA调用, 先练习下DLL的编译和调用

//DLL部分

//mydll.h
#if defined(MY_LIB)
#define MY_API __declspec(dllexport) _stdcall
#else
#define MY_API __declspec(dllimport) _stdcall
#endif
#ifdef __cplusplus
extern "C"{
#endif
//添加导出函数的定义
MY_API int add(int x,int y);
MY_API int sub(int x,int y);
#ifdef __cplusplus
}
#endif

//mydll.c
//自动生成的内容

//unit1.h
#ifndef Unit1H
#define Unit1H
#define MY_LIB
#include "mydll.h"
#endif

//unit1.cpp 实现部分
#include "Unit1.h"
MY_API int add(int x,int y){return x+y;}
MY_API int sub(int x,int y){return x-y;}

//exe部分
//拷贝DLL部分编译的mydll.lib,mydll.dll,mydll.h
//工程添加mydll.lib
//在需要调用的单元
#include "mydll.h"
int i=add(1,2);
int j=sub(1,2);

//实例在EXE+DLL

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 195
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看了,谢谢
2015-8-12 23:52
0
雪    币: 8188
活跃值: (2686)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
下载谢谢
2015-8-13 06:59
0
雪    币: 229
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼主,下载试一下
2015-8-13 09:19
0
游客
登录 | 注册 方可回帖
返回
//