C++ win32工程如何封装成DLL。

来源:互联网 发布:java post上传文件 编辑:程序博客网 时间:2024/04/30 03:40

                   

               这个过程其实没有那么难,如果你认识深入了,做几个demo,就了解了。。

           

              如果你写了一个win32 的工程,很长,但是又想封装成dll但是不知道怎么做,害怕从头来过,不用担心,只需要,改动一点点就行。

 

              1  第一步。

                  新建一个win32的dll工程,要编译头的,不要空项目,把你的头文件 xxx.h     xxx.cpp文件全部加进来,main()入口函数 的C++文件例外。。

                  但是其中一个文件要改动一下,就是你的 main()函数所在的C++文件,将你的让侯将你的main()函数所在文件的所有代码Copy进去,生成一个新入口函数的文件。。

                 将你的main函数改成输出函数。。或者将你要执行的工程函数,携程输出函数即可。。。

 

              

// Aitalk.cpp : 定义 DLL 应用程序的入口点。
//

#include "stdafx.h"
#include  <malloc.h>
#include <stdio.h>
#include <tchar.h>
#include "AitalkSample.h"
#include <crtdbg.h>
#include <locale.h>
#include <stdlib.h>
#include <atlstr.h>
#include "sqlite3.h"
#include <winuser.h>
#pragma comment(lib, "sqlite3.lib")


#ifdef _MANAGED
#pragma managed(push, off)
#endif

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
      )
{
    return TRUE;
}

 

// ///////////////////////////////////将你的代码全部放在这里,,

extern "C" _declspec(dllexport)int OutResult(char *p)
{
    char *flag=p;

   char *str="初始化

   return 0;
}

// ///////////////////////////////////将你的代码全部放在这里,,

 

 

#ifdef _MANAGED
#pragma managed(pop)
#endif