(二)新建dll以及静态调用dll
2013-05-17 12:21
211 查看
注意:可以先看简单的新建dll和调用dll:http://blog.csdn.net/chenqiai0/article/details/8938150
第一步,首先编写一个add.dll,很简单,这个dll只输出一个API函数,就是add啦。
新建一个win32 dll工程,
add.cpp的内容:
#i nclude "stdafx.h"
int WINAPI add(int a,int b){ file://千万别忘记声明WINAPI 否则调用的时候回产生声明错误哦!
return a+b;
}
然后别忘了在add.def里面输出函数:
LIBRARY Add
DESCRIPTION "ADD LA"
EXPORTS
add @1;
编译,ok,我们获得了add.dll
注意:如果弹出对话框说:无法启动程序。。。 (其实这个我们可以忽略,因为dll本来就不会调用)
////////////////////
第二步,主程序
新建一个基于对话框的工程One,
在 void ConeDlg::OnBnClickedOk()里面调用add函数:
ConeDlg.cpp里进行调用:
我们用静态是直接如下就可以了(如果动态的话就先要获得函数指针)
void ConeDlg::OnBnClickedOk()
{
// TODO: 在ú此?添?加ó控?件t通?知a处鋦理え?程ì序ò代洙?码?
CDialogEx::OnOK();
int a=1;
int b=2;
int c=::add(a,b);
CString temp;
temp.Format("%d+%d=%d",a,b,c); AfxMessageBox(temp);
}
当然首先需要在ConeDlg.cpp头部添加如下代码:
#pragma comment(lib,"add.lib")
extern int WINAPI add(int a,int b);//函数声明
OK,编译运行,正确的话我们点击确定按钮就会显示1+2=3咯
第一步,首先编写一个add.dll,很简单,这个dll只输出一个API函数,就是add啦。
新建一个win32 dll工程,
add.cpp的内容:
#i nclude "stdafx.h"
int WINAPI add(int a,int b){ file://千万别忘记声明WINAPI 否则调用的时候回产生声明错误哦!
return a+b;
}
然后别忘了在add.def里面输出函数:
LIBRARY Add
DESCRIPTION "ADD LA"
EXPORTS
add @1;
编译,ok,我们获得了add.dll
注意:如果弹出对话框说:无法启动程序。。。 (其实这个我们可以忽略,因为dll本来就不会调用)
////////////////////
第二步,主程序
新建一个基于对话框的工程One,
在 void ConeDlg::OnBnClickedOk()里面调用add函数:
ConeDlg.cpp里进行调用:
我们用静态是直接如下就可以了(如果动态的话就先要获得函数指针)
void ConeDlg::OnBnClickedOk()
{
// TODO: 在ú此?添?加ó控?件t通?知a处鋦理え?程ì序ò代洙?码?
CDialogEx::OnOK();
int a=1;
int b=2;
int c=::add(a,b);
CString temp;
temp.Format("%d+%d=%d",a,b,c); AfxMessageBox(temp);
}
当然首先需要在ConeDlg.cpp头部添加如下代码:
#pragma comment(lib,"add.lib")
extern int WINAPI add(int a,int b);//函数声明
OK,编译运行,正确的话我们点击确定按钮就会显示1+2=3咯
相关文章推荐
- 调用函数(二)新建dll以及静态调用dll
- (三)新建dll以及动态调用dll
- Delphi编写DLL(以及静态和动态方式调用)
- 函数调用(三)新建dll以及动态调用dll
- C函数的dll,C++静态调用以及C++函数的C++静态调用。
- Android Studio 通过JNA调用 Clang编译的so库,以及Java JNA 调用x64dll,C# dllimport调用x86dll
- 静态智能指针变量调用DLL引发的一个CRASH给的启示
- VC中使用动态链接库DLL:静态调用和动态调用
- 静态调用OpenCV库以及生成自己的静态库
- (转)__declspec(dllimport)和__declspec(dllexport)的区别,以及有关c/c++调用约定
- Delphi DLL的创建、静态 以及动态调用
- MFC之静态调用DLL实现编辑ini配置文件
- Unity3D教程:静态调用C#的dll
- Java调用ocx控件以及dll和word文档
- 【VB技巧】VB静态调用与动态调用dll详解
- Delphi下DLL调用以及共享数据库连接
- [科普小短文]在C#中调用C语言函数(静态调用Native DLL,Windows & Microsoft.Net平台)
- VS2010中创建DLL和(静态)调用DLL
- Qt调用qt生成的dll 显式和隐式(静态动态)
- 在C++创建DLL,以及使用C++或者C#分别调用DLL中的方法