学习使用C++封装DLL并调用
2017-10-25 13:42
197 查看
一、生成DLL
VS2013——建立win32项目——DLL——完成
[cpp] view
plain copy
//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;
}
}
}
f4bc
}
编译生成,在Debug文件下生成了.dll和.lib两个文件;
二、调用DLL
VS2013——建立win32控制台项目——完成
把第一步生成的.dll和.lib两个文件拷入控制台程序的Debug文件夹下
添加引用:
项目——属性——链接器——常规——附加库目录——添加dll
项目——属性——链接器——输入——附加依赖项——添加lib
[cpp] view
plain copy
#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;
}
VS2013——建立win32项目——DLL——完成
[cpp] view
plain copy
//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;
}
}
}
f4bc
}
编译生成,在Debug文件下生成了.dll和.lib两个文件;
二、调用DLL
VS2013——建立win32控制台项目——完成
把第一步生成的.dll和.lib两个文件拷入控制台程序的Debug文件夹下
添加引用:
项目——属性——链接器——常规——附加库目录——添加dll
项目——属性——链接器——输入——附加依赖项——添加lib
[cpp] view
plain copy
#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;
}
相关文章推荐
- 学习使用C++封装DLL并调用
- C#调用使用C++\CLI封装的标准C++ DLL问题:无法访问受保护的内存,这通常指示其他内存已损坏
- 如何使用VS2013将C++派生类封装成DLL并动态调用
- 学习c++一点一滴----资源dll的封装和调用
- 使用 SWIG 实现 Java 调用 C++ DLL
- Silverlight实用窍门系列:22.Silverlight使用WebService调用C++,Delphi编写的DLL文件【实例源码下载】
- C#调用C++Dll封装时遇到的一系列问题
- .net实例:使用C++调用C#的DLL
- C#调用C++Dll封装时遇到的一系列问题(2)
- Java使用JNI调用C/C++的DLL动态链接库2
- 使用C++调用C#的DLL (转)
- C# 发中调用一个采用C++封装好的dll, 其结构体中的二维数转换
- Eclipse中使用JNI调用C++ build的dll
- C#调用C++Dll封装时遇到的一系列问题
- Silverlight实用窍门系列:22.Silverlight使用WebService调用C++,Delphi编写的DLL文件【实例源码下载】
- 使用C++调用C#的DLL(转载)
- 将sqlite3编译成给WINCE使用的DLL,并封装成C++的步骤(使用VS2005)
- C#调用c++封装的dll文件提示未能加载正确的程序集XXX或其某一依赖项。。。
- 使用vc封装纯资源dll及调用
- C#调用C++Dll封装时遇到的一系列问题