dll动态库的静态调用和动态调用的分别举例

一、dll动态库的静态调用举例

第一个 demodll.bas 这是动态库的源码

'看清这里,不要加 外部-结束外部 了,免得画蛇添足。

========================

'外部 "Windows-MS"

公开 函数 Add2( 传值 x 为 整数型, 传值 y 为 整数型 ) 为 整数型 导出
  返回( x + y )
结束 函数

'结束 外部

========================

第二个 生成动态库.bat   生成动态库的批处理

'请注意你的编译器路径

========================

"C:/Program Files/NiceBASIC/nbc" -dll "demodll.bas"

========================

生成的      动态库文件名为 demodll.dll

生成的附属静态库文件名为 libdemodll.dll.a

========================

下面是调用动态库例子

 

第三个 testdll.bi 头文件

========================

'看清下面的引用库名字是不带后缀“.a”的,且不带“lib”

#引用库 "demodll.dll"

声明 函数 Add2( 传值 x 为 整数型, 传值 y 为 整数型 ) 为 整数型

 

========================

第四个 testdll.bas   源码

========================
#引用 仅一次 "testdll.bi"
输出 Add2(1,2)
延时

 

========================

第五个 生成控制台.bat

'请注意你的编译器路径

'DOS下面不支持带有空格的文件夹,所以我在两边加上引号。

'生成文件名 testdll.exe

========================
"C:/Program Files/NiceBASIC/nbc" -s console "testdll.bas"

 

================================================

二、dll动态库的动态调用的举例

 动态调用库的例子

================================================

第一个 demodll.bas

这里需要 [ 外部-结束外部 ] 呀

编译生成 demodll.dll

========================

外部 "Windows-MS"

公开 函数 Add2 别名 "Add2" ( 传值 x 为 整数型, 传值 y 为 整数型 ) 为 整数型 导出
  返回( x + y )
结束 函数

结束 外部

========================

第二个 testdll2.bas

'编译生成 testdll2.exe

'函数名称区分大小写

========================


变量 AddNumbers 为 函数 ( 传值 x 为 整数型, 传值 y 为 整数型 ) 为 整数型

变量 hndl 为 任意 指针

hndl=载入链接库("demodll.dll")

AddNumbers = 取库函数地址( hndl, "Add2" )

输出 "1 + 2 ="; AddNumbers( 1, 2 )

释放链接库 hndl

延时

========================

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值