中国Linux公社论坛's Archiver

wxMidnight 发表于 2006-4-11 21:08

FinSH中的指针支持

[注:这个基本代表的是FinSH中的指针需求]
1. 修改finsh_node结构中的dtype为data_type
原来的
type->node_type
idtype->id_type

2. 支持的指针操作及运算方式
声明:(不支持指针的指针声明,即**)
char *ptr;
short *ptr;
long *ptr;
int *ptr;
可支持unsigned前缀声明

运算:(假设ptr为一指针,value为一数值型变量,char_value是一字符型变量且和value不同类型)
左表达式
*ptr = 0xff;
*((char*))ptr = 'A';

右表达式
ptr = (unsigned long*)&value;
char_value = *(char*)&value;
value = *(ptr + 5);

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "RTThread RTOS" group.
For more options, visit this group at http://groups.google.com/group/rtthread
-~----------~----~----~----~------~----~------~--~---

My Blog:
http://ffxz.cublog.cn

bamfox 发表于 2006-4-13 22:03

真正搞嵌入式语言的人太少了。目前楼主很寂寞啊。
谁来挑战? :-D

wxMidnight 发表于 2006-4-14 09:40

寂寞谈不上:-)

FinSH估计还是会有一个很完善的作品出来的,但是FinC就难说了

FinSH会绑定成为下一代嵌入式操作系统RT-Thread内核级调试shell,所以发展肯定是有的。

而FinC则有些力不从心了,恩,主要还是上面帖子里说的指针问题。发觉编程语言中处理起指针来非常麻烦,所以FinSH也只能支持到一级指针,对于指针的指针或指针的指针的指针就不好下手了!

我也非常希望大家在这方面能够给予建议。同时,这些东西也不一定要用于嵌入式系统的。例如FinSH,完全可以把它当作一个程序员计算器来用,特别是C/C++程序员,想计算一些数值(或位计算)是特别方便的。

另外,正在升级中的FinSH 0.4版本,已经能够正确在zaurus系统上执行了。

kooxoo 发表于 2006-7-18 11:43

希望能够继续发展FinC,我觉得它很有前途,至少可以在华语地区代替Lua的地位。
在很多嵌入式场合,给用户提供脚本功能,除了功能是否强大之外,很重要的一点
是不要引入新的奇怪的语法,这一点FinC太有优势了。
加油!

wxMidnight 发表于 2006-7-19 09:12

确实,FinC开始时就有这部分打算,
能够比较完善的兼容C89的语法,用它来写写脚本完成一些简单的事,而当脚本复杂后,觉得这个功能有必要在系统级别提供时,能够直接放到C编译器下编译。。。

原本是找到一位同志来维护FinC的,并在FinSH的基础上重写FinC,可惜入手比较慢。。。

wxMidnight 发表于 2006-7-19 09:16

BTW:
FinSH 0.4版本已经发布,但一直没放到网站提供下载,如果有需要请直接用SVN吧:
http://www.rt-thread.com/svn/finsh/

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.