-
-
[分享]C++Build6编译DLL并调用的简单例子
-
发表于:
2015-8-12 23:17
3831
-
[分享]C++Build6编译DLL并调用的简单例子
一直用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
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!