首发---FreeBasic编译驱动说明

大家用FreeBasic时应该都有注意到示例里有一个driver.bas但是这玩意如何编译成.sys网上就几乎鲜有人提及。直接运行那个make.bat就报一堆错根本行不通。
经过作者花费N多时间踩坑无数,查阅各种资料,以及想办法,最终成功使用FreeBasic编译出了示例驱动,并正常运行。现将经验整理如下:
第一关:缺文件excpt.h sdkddkver.h,安装MSYS2将里面的这两个文件用fbfrog-master翻译为.bi
第二关:ntdef.bi winddk.bi 一堆报错,最多的是声明与winnt.bi重复,加注释解决。少量的原bi文件类型声明有问题,自己修正一下,还有个别类型没有定义自己查MSDN补一下。
第三关:这时能用FBC成功编译出.o文件啦!接下来就是编译成驱动啦,FB的ld.exe编译时始终会报找不到DriverEntry,这时从MSYS2里拷贝一个ld.exe过来文件名自己修改以免重复(下例ld64.exe)。
ld64.exe DRIVER.o --subsystem=native --image-base=0x10000 --entry=DriverEntry@8 --nostdlib -shared -L “路径自己改\lib\win64” -l ntoskrnl -o “DRIVER.sys”
第四关:我们的驱动这时就已经生成成功了,并且也能正常启动,停止并输出调试信息到DebugView。

有喜欢FB并想一起深入研究FB驱动后续的朋友可以加企鹅群,一起讨论。群号
dim aa(9) as long = {3,2,4,7,8,5,0,4,3}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值