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静态函式库开发
 




附件列表

    原文地址:https://www.cnblogs.com/xe2011/p/cbbc07f477bea962b9e122015194aeed.html