vs2010环境下生成dll文件
1,新建win32工程,选中DLL项目,如下图:
2,分别添加头文件和cpp文件
2,分别添加头文件和cpp文件
#ifndef LIB_H
#define LIB_H
extern "C" int _declspec(dllexport)add(int x,int y); // 声明为C编译、链接方式的外部函数
#endif
#define LIB_H
extern "C" int _declspec(dllexport)add(int x,int y); // 声明为C编译、链接方式的外部函数
#endif
#include "stdafx.h"
int add(int x,int y)
{
return x+y;
}
3,新建win32控制台工程,添加头文件后,然后在main函数中写下如下的代码:int add(int x,int y)
{
return x+y;
}
#include "stdafx.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
typedef int(*lpAddFun)(int,int);//宏定义函数指针类型
HINSTANCE hInst=NULL;
lpAddFun addFun; //函数指针
hInst=::LoadLibraryA("C:\Users\Administrator\Documents\Visual Studio 2010\Projects\Win32Study\Debug\test_1.dll");
if(hInst==NULL)
{
printf("Load mydll.DLL fail! ");
return 0;
}
else
{
addFun=(lpAddFun)GetProcAddress(hInst,"add");
if (addFun!=NULL)
{
int result=addFun(2,3);
cout<<result<<endl;
getchar();
}
}
FreeLibrary(hInst);
return 0;
}
4,运行结果如下图:using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
typedef int(*lpAddFun)(int,int);//宏定义函数指针类型
HINSTANCE hInst=NULL;
lpAddFun addFun; //函数指针
hInst=::LoadLibraryA("C:\Users\Administrator\Documents\Visual Studio 2010\Projects\Win32Study\Debug\test_1.dll");
if(hInst==NULL)
{
printf("Load mydll.DLL fail! ");
return 0;
}
else
{
addFun=(lpAddFun)GetProcAddress(hInst,"add");
if (addFun!=NULL)
{
int result=addFun(2,3);
cout<<result<<endl;
getchar();
}
}
FreeLibrary(hInst);
return 0;
}
posted on 2012-02-03 21:21 加文 阅读(3777) 评论(0) 编辑 收藏 引用 所属分类: Compile
找优秀程序员,就在博客园 | ||||||||
标题 | ||||||||
姓名 | ||||||||
主页 | ||||||||
|
||||||||
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容) |
||||||||
登录 使用高级评论 新用户注册 返回页首 恢复上次提交 | ||||||||
[使用Ctrl+Enter键可以直接提交] | ||||||||
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库 |
||||||||
相关文章:
|
||||||||
网站导航: 博客园 IT新闻 BlogJava 知识库 程序员招聘 管理
|
||||||||