VC中MFC源程序怎样生成DLL文件?
本人想把MFC里面的函数生成DLL文件可以被其他软件或程序调用,网上搜索一大堆步骤,都没说到重点。我的重点是,在新建的MFC(DLL)项目中添加我的MFC源程序里面哪些文...
本人想把MFC里面的函数生成DLL文件可以被其他软件或程序调用,网上搜索一大堆步骤,都没说到重点。我的重点是,在新建的MFC(DLL)项目中添加我的MFC源程序里面哪些文件进去,请给出这些文件后缀名。还有就是:怎么区分需要添加那些文件,因为好多文件里面都有函数。谢谢
展开
2个回答
展开全部
只需要.cpp和.h的文件就可以了,在.h中需要声明需要外部调用的函数,即给需要外部调用的函数前增加 extern "C" __declspec(dllexport)就可以了,下面是例子#include "stdio.h"
#ifdef FUN_EXPORTS
#define FUN_API extern "C" __declspec(dllexport)
#else
#define FUN_API extern "C" __declspec(dllimport)
#endif
FUN_API int sum(int a, int b)
{
return a + b;
}
FUN_API int sub(int a, int b)
{
return a - b;
}
FUN_API int savedata(char* p, int l)
{
return printf("savedata: %d, %s\n", l, p);
}
FUN_API char* retstring(char* p)
{
printf("retstring: %s\n", p);
return p;
}
static int counter = 0;
FUN_API int count()
{
return ++counter;
}
FUN_API int count2()
{
counter += 2;
return counter;
}
FUN_API void setcount(int c)
{
counter = c;
}
#ifdef FUN_EXPORTS
#define FUN_API extern "C" __declspec(dllexport)
#else
#define FUN_API extern "C" __declspec(dllimport)
#endif
FUN_API int sum(int a, int b)
{
return a + b;
}
FUN_API int sub(int a, int b)
{
return a - b;
}
FUN_API int savedata(char* p, int l)
{
return printf("savedata: %d, %s\n", l, p);
}
FUN_API char* retstring(char* p)
{
printf("retstring: %s\n", p);
return p;
}
static int counter = 0;
FUN_API int count()
{
return ++counter;
}
FUN_API int count2()
{
counter += 2;
return counter;
}
FUN_API void setcount(int c)
{
counter = c;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询