zoukankan      html  css  js  c++  java
  • C++ dll 动态链接库的创建与调用

    /********************************************************/
    /*DLL中的函数定义*/
    /*计算x+y的值*/
    int __declspec(dllexport) __stdcall myAdd(int x, int y)
    { 
        return x+y;
    }
    /********************************************************/
    /*Dll中的函数引用*/
        int __declspec(dllexport) __stdcall myAdd(int x, int y);
    /********************************************************/
    /*DLL中的函数的实际调用*/
    void __fastcall TForm1::Button1Click(TObject *Sender)
    { 
         int x=3; 
        int y=4; 
        int z=myAdd(x,y); 
        ShowMessage(z);
    }
    /********************************************************/
     

    1    动态链接库
    2    静态链接库
     
     
     

    1 DLL的创建

    FILE->NEW->OTHER->DLL WIZARD
     
     
    //---------------------------------------------------------------------------
    #include <vcl.h>
    #include <windows.h>
    #pragma hdrstop

    #pragma argsused
    int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
    {
            return 1;
    }
    //---------------------------------------------------------------------------

    /*计算x+y的值*/
    int __declspec(dllexport) __stdcall myAdd(int x, int y)
    {
      return x+y;
    }
     
    //CTRL+f9编译应用程序
     
     
    DLL的调用
    1 新建1个窗体项目
    将DLL项目目录下的 中的.dll文件和.lib文件复制到本目录下
     
    把这project1.dll project1.lib个文件添加到项目中
     
     
    3 新增加 Header File 用于引用dll库中的函数名:
     
    int __declspec(dllexport) __stdcall myAdd(int x, int y);
     
     
    窗体项目引用 这个头文件
    #include "File1.h"
     
     
    //功能调用的实现
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {  
          int x=3; 
          int y=4; 
          int z=myAdd(x,y);
          ShowMessage(z);
    }
    最终的文件是1个.exe文件和1个.dll的文件
     
     
     
    LIB静态函式库开发
     




    附件列表

    • 相关阅读:
      c语言,strcat(),字符串拼接
      c语言,strcpy
      [置顶] linux第二天,g++,gcc,ps,cat,sort,grep,kill,less,ls -l ,
      Yuchuan_Linux_C 编程之四动态库(共享库)制作
      Yuchuan_Linux_C 编程之三 静态库的制作和使用
      Yuchuan_Linux_C编程之二 GCC编译
      Yuchuan_Linux_C编程之一 Vim编辑器的使用
      testng学习笔记-- beforesuit和aftersuit
      testng学习笔记-- beforeclass和afterclass
      pom.xml
    • 原文地址:https://www.cnblogs.com/xe2011/p/cbbc07f477bea962b9e122015194aeed.html
    Copyright © 2011-2022 走看看