/********************************************************/
/*DLL中的函数定义*/
/*计算x+y的值*/
int __declspec(dllexport) __stdcall myAdd(int x, int y)
{
return 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); }
{
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;
}
#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编译应用程序
2 DLL的调用
1 新建1个窗体项目
2 将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);
}
{
int x=3;
int y=4;
int z=myAdd(x,y);
ShowMessage(z);
}
最终的文件是1个.exe文件和1个.dll的文件
LIB静态函式库开发