假设我的C++代码有:funs.h(我的函数头文件)、funs.cpp(函数定义)、main.cpp(主函数),我要将我的函数封装起来,步骤如下:
1.右击main.cpp,选择从项目中排除,只剩下funs.h和funs.cpp,右击你的项目,选择属性-配置属性-常规-配置类型-动态库(.dll),假设我的funs.cpp自定义了10个函数,其中前五个是在一个类中(随便定义类的名字为A)
funs.h
class A
{
public:
void a();
void b();
void c();
void d();
void e();
}
void f();
void g();
void h();
void i();
void j();
funs.cpp
void A::a(){}
void A::b(){}
void A::c(){}
void A::d(){}
void A::e(){}
void f(){}
void g(){}
void h(){}
void i(){}
void j(){}
我要将前五个函数封装,我需要定义一个新的函数void SUMFUNS(){}
funs.cpp
void A::a(){}
void A::b(){}
void A::c(){}
void A::d(){}
void A::e(){}
void SUMFUS(){
A new;
new.a();
new.b();
new.c();
new.d();
new.e();
}
void f(){}
void g(){}
void h(){}
void i(){}
void j(){}
然后在funs.h里输入extern "C" __declspec(dllexport) SUMFUNS即可
funs.h
class A
{
public:
void a();
void b();
void c();
void d();
void e();
}
extern "C" __declspec(dllexport) SUMFUNS();
void f();
void g();
void h();
void i();
void j();
最后会生成一个.lib和.dll文件。