通过之前那篇博客已经可以成功打包了,但是为了方便我们调试,我们可以做点改进
新建entry.h和entry.cpp
//dll.h
#ifndef DLL_H_
#define DLL_H_
extern "C" _declspec(dllexport) void start();
#endif
//dll.cpp
#include "entry.h"
extern "C" _declspec(dllexport)void start()
{
entry();
}
//entry.h
#ifndef ENTRY_H_
#define ENTRY_H_
void entry();
#endif
main.cpp:
#include "BestInsert.h"
#include "entry.h"
int main(int argc, char* argv[])
{
entry();
return 0;
}
其实说白了就是把原来dll.cpp里面的大量代码放到了entry.cpp里面的entry函数,这样,我们在main.cpp和dll.cpp都可以直接调用entry这个函数即可,这样我们可以很方便地选择产生dll文件(将项目配置选择为动态库),或者选择产生exe文件(将项目配置选择为应用程序),而且当我们需要修改源代码时,可以只修改entry.cpp里的程序而不要对dll.cpp和main.cpp做修改,而且可以保证它俩的一致性。