• Windows 动态库创建和使用 part 2


     一.Windows动态库的创建:

       1.先选择 "DLL" 和 “控项目” 

      

       2.添加一个头文件,一个源文件  CppDll.h,CppDll.cpp,一个模块定义文件 CppDll.def

          关于模块定义文件的介绍(百度百科):

    http://baike.baidu.com/link?url=pfwgvp6L_zHUK2XrDjy2RqCg7qwy76WrOcepxnpg2ach3aybCdJwIXeDp6FhThKbZ8H8fd9wSAhXTqJi5C45Ya

     

     
       3.3个文件的实现如下:
        //头文件
    //CppDll.h
    //2014-4-2 programed by sixbeauty
    //使用预编译开关切换类的导入导出定义
    #ifdef DLLCLASS_EXPORTS
    
    #define EXT_CLASS _declspec(dllexport)//DLL
    
    #else
    
    #define EXT_CLASS _declspec(dllimport)//使用者
    
    //函数声明
    EXT_CLASS int CPPdll_sub(int sub1,int sub2);
    EXT_CLASS int CPPdll_add(int add1,int add2);
    EXT_CLASS int CPPdll_mul(int mul1,int mul2);
    
    
    #endif

       //源文件

    //CppDll.cpp
    //2014-4-2  programed by sixbeauty
    #include"CppDll.h"
    
    
    int CPPdll_add(int add1,int add2)
    {
        return add1+add2;
    }
    
    int CPPdll_sub(int sub1,int sub2)
    {
        return sub1-sub2;
    }
    
    int CPPdll_mul(int mul1,int mul2)
    {
        return mul1*mul2;
    }

       //模块定义文件

    LIBRARY
    EXPORTS            
        CPPdll_add @1    
        CPPdll_sub @2
        CPPdll_mul 

       4.编译生成动态库,在工程的 "Debug" 文件夹中,有  CppDll.dll   和 CppDll.lib  文件 ,再加上我们写的头文件  CppDll.h ,这是我们一会要用的。

    二.Windows动态库的使用:

       1.老规矩,win32控制台 + 空项目,项目名叫  CppDllUse 。

       2.把文件复制项目所在目录下面

      

       3.添加一个源文件 CppDllUse.cpp,添加一个现有项 "CppDllUse.h"  

       

      4.实现源文件:

    //2014-4-2  programed by sixbeauty
    //
    CppDllUse #include<stdio.h> #include"CppDll.h" #pragma comment(lib,"CppDll.lib") int main() { int sum=CPPdll_add(5,6); int sub=CPPdll_sub(5,6); int mul=CPPdll_mul(5,6); printf("sum=%d,sub=%d,mul=%d ",sum,sub,mul); return 0; }

      5.编译,运行。

    好的,今天就到这里,我还要写万恶的毕业论文,呜呜~~~~(>_<)~~~~ 

    2014-04-02

  • 相关阅读:
    java面向对象下:Java数据库编程
    异常处理小结
    drupal进入不了后台时候的解决办法,作者使用drush方案,已验证
    背后的幽灵“美国”
    2016第30周六
    2016第30周五
    Java 网络I/O模型
    2016第30周三-流媒体部分概念
    2016第30周二
    JS冲突解决方法
  • 原文地址:https://www.cnblogs.com/sixbeauty/p/3641422.html
Copyright © 2020-2023  润新知