QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3970|回复: 4

关于finc的两个问题

[复制链接]
发表于 2006-7-18 11:40:36 | 显示全部楼层 |阅读模式
1. 请问有没有移植到WinCE平台?
2. 请问能否支持dll扩展? 就是用C写一个动态库,定义一些方法,
   然后就可以从脚本中调用。我看到的例子是在C里执行脚本。

项目里需要一个嵌入式的脚本,TCL和Lua都不满足要求,FinC看起来很棒,希望可以得到大家的帮助。谢谢!
 楼主| 发表于 2006-7-19 08:55:42 | 显示全部楼层
我昨天试图移植到WinCE,失败了,原因是代码里使用了汇编,似乎是要直接操作寄存器。
请问为什么要这么设计呢? 我在其他的脚本引擎里没有见过需要和寄存器打交道的。
WinCE的开发工具EVC是不支持C里嵌入汇编的。
回复

使用道具 举报

发表于 2006-7-19 09:06:58 | 显示全部楼层
1. 我手上没有WinCE,所以没移值过。
2. 是可以支持dll的,但是这部分需要你自己把dll里的函数注册到FinC中。

汇编部分主要是里面用到的avcall部分,你可以找到里面相应的平台然后一起编译即可。当然这部分也可以采用C来实现(这部分在FinSH里就是采用C来实现的,见FinSH系统函数调用部分)。

另外,
FinC已经停止维护了,FinSH还在维护。主要问题是,
FinC采用的是完全解释执行,对动态内存会占用比较大且申请/释放频繁。原本想反过来再采用FinSH的虚拟机结构,但是需求不足,停止了。
回复

使用道具 举报

 楼主| 发表于 2006-7-19 14:57:46 | 显示全部楼层
为什么FinC会需求不足呢?好奇怪啊。是不是你面向的使用群体的问题?
在各种软件中,都广泛存在对嵌入式脚本的需求,这方面Lua是一个很好的例子,
魔兽世界就是用Lua作脚本,提供了很强大的扩展系统的能力。我之所以
找到FinC,是因为希望让我们的用户使用熟悉的C语法,Lua的语法是比较奇怪的。

关于扩展dll,你能讲得更加详细一点吗?用C实现avcall又应该怎么做呢?
我对移植C代码到winCE上有一些经验,希望可以把finC应用到我们公司的设备上。

谢谢!
回复

使用道具 举报

发表于 2006-7-21 13:15:33 | 显示全部楼层
关于需求的问题,
最初FinC是为了学习编译原理,后来慢慢的用于嵌入式系统,
再然后发现FinC的体系结构存在问题,主要的就是内存使用方面的原因,
再然后就把FinC剪裁并适用到自己的嵌入式系统中,这样就形成了现在的FinSH

所以,关于需求,当前来看,目前我的嵌入式系统并不需要类似于C语言的复杂脚本,而仅仅需要系统调试的功能,FinSH就足够了,增强了反而内存使用上去了(当前FinSH只需要20k的静态内存,1k的栈空间,无动态内存分配,非常精简的一个shell系统),所以我这方面目前的需求是零。

至于其他的,我还没太多时间来考虑,毕竟要养家糊口的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 07:40 , Processed in 0.100249 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表