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 真正搞嵌入式语言的人太少了。目前楼主很寂寞啊。
谁来挑战? :-D 寂寞谈不上:-)
FinSH估计还是会有一个很完善的作品出来的,但是FinC就难说了
FinSH会绑定成为下一代嵌入式操作系统RT-Thread内核级调试shell,所以发展肯定是有的。
而FinC则有些力不从心了,恩,主要还是上面帖子里说的指针问题。发觉编程语言中处理起指针来非常麻烦,所以FinSH也只能支持到一级指针,对于指针的指针或指针的指针的指针就不好下手了!
我也非常希望大家在这方面能够给予建议。同时,这些东西也不一定要用于嵌入式系统的。例如FinSH,完全可以把它当作一个程序员计算器来用,特别是C/C++程序员,想计算一些数值(或位计算)是特别方便的。
另外,正在升级中的FinSH 0.4版本,已经能够正确在zaurus系统上执行了。 希望能够继续发展FinC,我觉得它很有前途,至少可以在华语地区代替Lua的地位。
在很多嵌入式场合,给用户提供脚本功能,除了功能是否强大之外,很重要的一点
是不要引入新的奇怪的语法,这一点FinC太有优势了。
加油! 确实,FinC开始时就有这部分打算,
能够比较完善的兼容C89的语法,用它来写写脚本完成一些简单的事,而当脚本复杂后,觉得这个功能有必要在系统级别提供时,能够直接放到C编译器下编译。。。
原本是找到一位同志来维护FinC的,并在FinSH的基础上重写FinC,可惜入手比较慢。。。 BTW:
FinSH 0.4版本已经发布,但一直没放到网站提供下载,如果有需要请直接用SVN吧:
http://www.rt-thread.com/svn/finsh/
页:
[1]