改变VFP的生态,彻底揭开只会打嘴炮的伪专家

      目前祺佑三层开发框架(猫框)已经完成了HTTP 1.1协议的VFP实现,也部分完成了MQTT协议的VFP实现,这些是我在VFP的无人区探索,而那些只会打嘴炮的伪专家在哪里?有些看了我的文章,学了知识,还要贬低我,真不知道那些人是怎么想的。

       有部分狐友学习了我的框架,总想着去创建自己的轮子,但是框架是整套体系,内核是面向对象的开发思想,如果没有掌握面向对象的方式,是没有办法整体超越的。我说这个,其实不是打击大家,猫框会用就好,但我希望的是,大家朝着VFP的无人区前进。

       目前猫猫在做MQTT的VFP实现,以后VFP在物联网中一定能发挥更大的作用。最近发现了一块新的无人区,我希望有人能在这里拓展一下VFP的边界。

        用VFP混合JS,js的免费库是非常多的,甚至可以说是多于牛毛(VFP本身的库少之又少,就连做一点收费库,经常被某些人白PIAO,还理直气壮,我还是服了。)

牛逼的Qiuickjs引擎

       生猛!FFmpeg 开发者徒手撸了一个 JS 引擎文章,这是我前两年看到的文章,当时觉得里面一定有东西非常好用。QuickJS引擎为纯C写的,只有少数几个文件,整个工程下包括测试用的,一共包含十几个.C文件。相当精简。所有东西的编译用一个Makefile文件即可,自己要动手改点什么东西也是容易得很。

      先说QuickJS的作者,貌似有两位,其中的Fabrice Bellard是大牛。Qemu、FFmpeg的作者。这一辈子有FFmpeg一个就足以青史留名了。我简单从百度百科上摘抄了Bellard的履历。感觉上面这些语言都太简陋了,完全无法体现Bellard的厉害。

图片

QuickJS 是一个小型且可嵌入的 Javascript 引擎。它支持 ES2020 规范,包括模块、异步生成器、代理和 BigInt。它可选地支持数学扩展,例如大十进制浮点数 (BigDecimal)、大二进制浮点数 (BigFloat) 和运算符重载。

主要特点:

  • 小且易于嵌入:只有几个 C 文件,没有外部依赖,一个简单的 hello world 程序需要 210 KiB 的 x86 代码。

  • 启动时间极短的快速解释器:在台式 PC 的单核上运行 ECMAScript 测试套件的 75000 次测试大约需要 100 秒。运行时实例的完整生命周期在不到 300 微秒内完成。

  • 几乎完整的 ES2020 支持,包括模块、异步生成器和完整的 Annex B 支持(旧版 Web 兼容性)。

  • 选择 ES2020 功能时,几乎 100% 通过 ECMAScript 测试套件测试。Test262 报告中提供了摘要。

  • 可以将Javascript 源代码编译为没有外部依赖的可执行文件。

  • 使用引用计数(以减少内存使用并具有确定性行为)和循环删除的垃圾收集。数学扩展:BigDecimal、BigFloat、运算符重载、bigint 模式、数学模式。

  • 在 Javascript 中实现上下文着色的命令行解释器。

  • 带有 C 库包装器的小型内置标准库。

这篇文章讨论无人区,猫猫昨天开夜车到凌晨4点,也有测试了相关代码,查询了相关资料,目前能做的工作是:

  • 将JS生成dll供VFP调用
  • VFP代码中直接运行JS

1 将JS生成dll供VFP调用

qjsc -e -o hello.c hello.js

就会生成C源程序,就可以改写成DLL供VFP调用了

图片

这种方式也非常有用,这样大量的JS库我们就能应用了,但终级王炸是下面这个。

2 VFP代码中直接运行JS

VFP的FLL 就是C开发的,如果把QuickJS引擎置于FLL之中,那么VFP直接运行JS,大大扩展了VFP应用的边界。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加菲猫的VFP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值