辅导:C++技巧(静/动态链接库使用总结)
来源:优易学  2011-11-3 12:34:58   【优易学:中国教育考试门户网】   资料下载   IT书店
  一、静态库编写
  1.首先当然是开VS然后创建一个静态库工程啦
  2.格式.一般有头文件.h和原文件.cpp,当然你也可以写一在一个cpp里.
  mydll.h------------------------
  extends "C"
  {
  int sum(int num1,int num2);
  int mult(int num1,int num2);
  }
  mydll.cpp--------------------
  #include "Mylib.h"
  int sum(int num1,int num2)
  {
  return num1+num2;
  }
  int mult(int num1,int num2)
  {
  return num1*num2;
  }
  3.编译得到lib,然后拿埋mydll.h就可以使用了
  二、动态库编写
  1.首先创建一个动态工程.
  2.格式.
  mydll.h------------------------
  #ifdef DLL_API
  #else
  #define DLL_API extern "C" _declspec(dllimport)
  #endif
  DLL_API int _stdcall add(int a,int b);
  mydll.cpp--------------------
  #define DLL_API extern "C" _declspec(dllexport)
  #include "mydll.h"
  #include
  int add(int a,int b)
  {
  return a+b;
  }
  3.编译的到lib,和dll,然后拿埋编写的mydll.h就可以使用了.
  个人想说的话:动态库必须要用_declspec()字样标识,但是静态的就不用了.extends "c" 和_stdcall都是调用方式,
  详细看这里
  使用方法
  一、静态库包括.lib和.h文件,在工程中使用静态库分为3步:
  1、在工程中加入静态库,青年人网上提示有两种方法:
  方法一:项目设置中引用.lib,project-setting-link-object/library modules中添加.lib;(需要在tools/options设置正确的引用路径)
  方法二:在项目中直接加入lib,project-add to project-files,选择正确的.lib。
  方法三: #pragma comment(lib, "##/##/mine.lib")
  2、在工程中包括.h文件;(可能需要在tools/options设置正确的引用路径)
  3、在工程中使用静态库中的函数;
  二、 动态链接库一般包括.lib(导出函数),.h,.dll,使用动态库有两种情况:
  1、隐式链接,同使用静态库相似,分为三步:引用.lib,包含头文件,使用导出函数;
  2、动态加载,直接使用LoadLibrary() FreeLibrary( ) GetProcAddress() 加载所需的动态库,然后指定所需的导出函数,效率最高!

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训