![](/icons/28438yi.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438yi.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438yi.gif)
![](/icons/28438de.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
2、用Borland C编写DLL
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
要想实现VB
![](/icons/28438diaoyong.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou2.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou2.gif)
![](/icons/28438yi.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
1、编写C语言源
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
C语言源
![](/icons/28438chengxu.gif)
![](/icons/28438dou.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou2.gif)
结构如下:
/*************************************/
/* 文件名: example.C */
/*************************************/
#
![](/icons/28438include.gif)
/***********入口
![](/icons/28438hanshu.gif)
FAR PASCAL LibMain ( HANDLE hInstance,
WORD wDataSeg,
WORD cbHeapSize,
LPSTR lpszCmdLine )
{
(cbHeapSize!=0)
UnlockData(0);
(1);
}
/***********输出
![](/icons/28438hanshu.gif)
FAR PASCAL example(
param1,...,char param n)
{
...... /*C语言应用
*/
}
/***********终止
***********/
FAR PASCAL WEP (
/*
Exit*/ )
{
(1);
}
以上各组成部分参数
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
LibMain带 4个参数:
hInstance、 wDataSeg、cbHeapSize和lpszCmdLine
![](/icons/28438dou2.gif)
![](/icons/28438yi.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438chushi.gif)
![](/icons/28438dou2.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou2.gif)
![](/icons/28438yi.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
如果不想让DLL数据被封住
![](/icons/28438dou.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438chushi.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438yi.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou2.gif)
![](/icons/28438yi.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
2、模块定义文件(.DEF)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
模块定义文件
![](/icons/28438de.gif)
/*************************************/
/* 文件名: example.DEF */
/*************************************/
LIBRARY example /* DLLname */
DESCRIPTION ' example.DLL'
EXETYPE WINDOWS
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE SINGLE
HEAPSIZE 1024
EXPORTS
example @1
WEP @2
关键字LIBRARY是把这个模块视为
![](/icons/28438yi.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438yi.gif)
![](/icons/28438dou2.gif)
![](/icons/28438yi.gif)
![](/icons/28438zifu.gif)
![](/icons/28438dou.gif)
![](/icons/28438zifu.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou.gif)
![](/icons/28438yinwei.gif)
![](/icons/28438yi.gif)
![](/icons/28438yi.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438yi.gif)
![](/icons/28438de.gif)
![](/icons/28438chushi.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438chushi.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438de.gif)
![](/icons/28438chushi.gif)
![](/icons/28438dou2.gif)
EXEPORTS语句定义将被用作来自应用
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou.gif)
![](/icons/28438yi.gif)
![](/icons/28438dou.gif)
![](/icons/28438yi.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438yi.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
3.建立原形
![](/icons/28438hanshu.gif)
原形
![](/icons/28438hanshu.gif)
![](/icons/28438de.gif)
![](/icons/28438yi.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438de.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
/*************************************/
/* 文件名: example.H */
/*************************************/
extern "C"
![](/icons/28438int.gif)
![](/icons/28438int.gif)
4.建立工程文件(.PRJ)
工程文件中包含有example.C、example.DEF两个文件后
![](/icons/28438dou.gif)
![](/icons/28438dou2.gif)
以上是制作动态连接库
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438yi.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438yi.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
第
![](/icons/28438yi.gif)
![](/icons/28438jiajia.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou2.gif)
(1)编写C语言源
![](/icons/28438chengxu.gif)
/*************************************/
/* 文件名: ADD.C */
/*************************************/
#
<iostream.h>
#
<conio.h>
#
<io.h>
#
<alloc.h>
#
<stdlib.h>
#
<windows.h>
#
<math.h>
#
<stdio.h>
#
"c:ADD.h"
/*入口
*/
FAR PASCAL LibMain (HANDLE hInstance ,
WORD wDataSeg ,
WORD cbHeapSize,
LPSTR lpszCmdLine )
{
(cbHeapSize!=0)
UnlockData(0);
1;
}
/*输出
*/
FAR PASCAL ADD(
x,
y,char *filein)
{
a,b;
fp=fopen(filein,"r");
(fp
NULL) { exit(0);}
temp1=0,temp2=0;
fscanf(fp,"%d",&a);
fscanf(fp,"%d",&b);
temp1=x+a;
temp2=y+b;
temp1=temp1+temp2;
fclose(fp);
(temp1);
}
/*退出
*/
FAR PASCAL WEP (
/*
Exit*/ )
{
(1);
}
(2)ADD.DEF文件
![](/icons/28438de.gif)
![](/icons/28438chengxu.gif)
/*************************************/
/* 文件名: ADD.H */
/*************************************/
LIBRARY ADD
DESCRIPTION 'ADD.DLL'
EXETYPE WINDOWS
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE SINGLE
HEAPSIZE 1024
EXPORTS
ADD @1
WEP @2
(3)ADD.H
![](/icons/28438chengxu.gif)
/*************************************/
/* 文件名: ADD.H */
/*************************************/
extern "C"
![](/icons/28438int.gif)
![](/icons/28438int.gif)
![](/icons/28438int.gif)
(4)建立工程文件:
在Borland C
![](/icons/28438jiajia.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou2.gif)
第 2步
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438dou2.gif)
3、VB3.0
![](/icons/28438diaoyong.gif)
制作好DLL的后
![](/icons/28438dou.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438dou.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou2.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438dou2.gif)
语句格式为:Declare Sub 过程名Lib摽鈹黚_n[ Alias " 别名]([ByVal 参数AS类型])
![](/icons/28438dou.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438de.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438dou.gif)
![](/icons/28438de.gif)
![](/icons/28438hanshu.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
例如上面
![](/icons/28438de.gif)
![](/icons/28438string.gif)
通过此声明语句将
![](/icons/28438hanshu.gif)
![](/icons/28438dou.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438dou2.gif)
4、结束语
以上详细介绍了Borland C环境下制作动态链接库以及VB
![](/icons/28438diaoyong.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438diaoyong.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438de.gif)
![](/icons/28438dou2.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou.gif)
![](/icons/28438dou2.gif)
![](/icons/28438de.gif)
![](/icons/28438de.gif)
![](/icons/28438dou.gif)
![](/icons/28438jiajia.gif)
![](/icons/28438chengxu.gif)
![](/icons/28438dou2.gif)
最新评论