学习使用C++封装DLL并调用
2016-12-23 10:02
204 查看
身为学渣,总是学完就忘,所以写下来方便自己以后查看,也是为其他小白提供一点思路。
参考的资料:http://blog.csdn.net/u011221078/article/details/41308217
http://blog.sina.com.cn/s/blog_7939cf980102v052.html
一、生成DLL
VS2013——建立win32项目——DLL——完成
//maopao.cpp
#include "stdafx.h"
//关键在于加入这一句,意为将C语言下的程序导出为DLL
extern "C"_declspec(dllexport) void maopao(int *p,int count);
void maopao(int *p,int count)
{
int temp=0;
for(int i=1;i<count;i++)
{
for(int j=count-1;j>=i;j--)
{
if(p[j]>p[j-1])
{
temp=p[j];
p[j]=p[j-1];
p[j-1]=temp;
}
}
}
}
编译生成,在Debug文件下生成了.dll和.lib两个文件;
二、调用DLL
VS2013——建立win32控制台项目——完成
把第一步生成的.dll和.lib两个文件拷入控制台程序的Debug文件夹下
添加引用:
项目——属性——链接器——常规——附加库目录——添加dll
项目——属性——链接器——输入——附加依赖项——添加lib
#include<iostream>
#include<time.h>
using namespace std;
//将export改为import即导出变导入即可
extern "C"_declspec(dllimport) void maopao(int *p,int count);
int main()
{
int a[10];
srand(time(0));
for(int i=0;i<10;i++)
a[i]=rand()%50;
maopao(a,10);
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
getchar();//为方便调试
return 0;
}
运行OK ~
参考的资料:http://blog.csdn.net/u011221078/article/details/41308217
http://blog.sina.com.cn/s/blog_7939cf980102v052.html
一、生成DLL
VS2013——建立win32项目——DLL——完成
//maopao.cpp
#include "stdafx.h"
//关键在于加入这一句,意为将C语言下的程序导出为DLL
extern "C"_declspec(dllexport) void maopao(int *p,int count);
void maopao(int *p,int count)
{
int temp=0;
for(int i=1;i<count;i++)
{
for(int j=count-1;j>=i;j--)
{
if(p[j]>p[j-1])
{
temp=p[j];
p[j]=p[j-1];
p[j-1]=temp;
}
}
}
}
编译生成,在Debug文件下生成了.dll和.lib两个文件;
二、调用DLL
VS2013——建立win32控制台项目——完成
把第一步生成的.dll和.lib两个文件拷入控制台程序的Debug文件夹下
添加引用:
项目——属性——链接器——常规——附加库目录——添加dll
项目——属性——链接器——输入——附加依赖项——添加lib
#include<iostream>
#include<time.h>
using namespace std;
//将export改为import即导出变导入即可
extern "C"_declspec(dllimport) void maopao(int *p,int count);
int main()
{
int a[10];
srand(time(0));
for(int i=0;i<10;i++)
a[i]=rand()%50;
maopao(a,10);
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
getchar();//为方便调试
return 0;
}
运行OK ~
相关文章推荐
- 学习使用C++封装DLL并调用
- C#调用使用C++\CLI封装的标准C++ DLL问题:无法访问受保护的内存,这通常指示其他内存已损坏
- 如何使用VS2013将C++派生类封装成DLL并动态调用
- 学习c++一点一滴----资源dll的封装和调用
- C#调用C++编写的COM DLL封装库的问题解决方案
- 使用C++调用C#的DLL
- C#调用C++Dll封装时遇到的一系列问题(2)
- Windows编程 C++ DLL编程 学习笔记(一)静态链接库的创建和使用
- C# 发中调用一个采用C++封装好的dll, 其结构体中的二维数转换
- java调用c++封装的dll
- C#调用C++Dll封装时遇到的一系列问题
- 22.Silverlight使用WebService调用C++,Delphi编写的DLL文件
- 使用Delphi调用C++编写的DLL
- 学习笔记:银江数据源在.net下的使用方法(marshal类在框架下调用非框架dll中的使用)
- C#调用C++Dll封装时遇到的小问题
- C#调用c++封装的dll文件提示未能加载正确的程序集XXX或其某一依赖项。。。
- 使用 SWIG 实现 Java 调用 C++ DLL
- 使用vc封装纯资源dll及调用
- 将sqlite3编译成给WINCE使用的DLL,并封装成C++的步骤(使用VS2005)
- C#调用C++Dll封装时遇到的一系列问题