VC2010 编写DLL并调用;


一  、 新建DLL项目

文件- 新项目-win32控制台

应用类型选择DLL,附件选项 选择导出符号 建立了 dllapp项目。

在DLLapp.h  添加DLLAPP_API int Max(int a ,int b );

//  下列 ifdef 块是创建使从 DLL 导出更简单的
//  宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 DLLAPP_EXPORTS
//  符号编译的。在使用此 DLL 的
//  任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
//  DLLAPP_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
//  符号视为是被导出的。
#ifdef DLLAPP_EXPORTS
#define DLLAPP_API __declspec(dllexport)
#else
#define DLLAPP_API __declspec(dllimport)
#endif

//  此类是从 dllapp.dll 导出的
class DLLAPP_API Cdllapp {
public:
    Cdllapp( void);
     //  TODO: 在此添加您的方法。
     int Max( int a , int b );
};

extern DLLAPP_API  int ndllapp;

DLLAPP_API  int fndllapp( void);
DLLAPP_API  int Max( int a , int b );

在dllapp中添加函数

DLLAPP_API int Max(int a ,int b )
{
 if (a>b)return a;
 else return b;
   
}

 

//  dllapp.cpp : 定义 DLL 应用程序的导出函数。
//

#include  " stdafx.h "
#include  " dllapp.h "


//  这是导出变量的一个示例
DLLAPP_API  int ndllapp= 0;

//  这是导出函数的一个示例。
DLLAPP_API  int fndllapp( void)
{
     return  42;
}
DLLAPP_API  int Max( int a , int b )
{
     if (a>b) return a;
     else  return b;
    
}
//  这是已导出类的构造函数。
//  有关类定义的信息,请参阅 dllapp.h
Cdllapp::Cdllapp()
{
     return;
}

 

编译通过后找到生成的 lib 和 dll文件

新建一个项目来使用这个dllapp.MAX(int ,int )函数

LINKER 输入中添加 dllapp.lib

VC++目录添加 include 、lib等路径和调用其他DLL一样,系统PATH 添加dllapp.dll 路径

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM