1305

帖子

0

TA的资源

纯净的硅(高级)

21
 
辛昕 发表于 2016-5-28 16:00
神马安全性?

对了,其实我现在反而不觉得lua是一门语言,我更倾向于它是一个
程序库。

当然,这 ...

保密性!

我的意思是别人是否可以轻易读出你的程序?
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

22
 
yang_alex 发表于 2016-5-30 19:23
保密性!

我的意思是别人是否可以轻易读出你的程序?

读个鸡蛋。
这就和普通库的开发一样。
 
个人签名

强者为尊,弱者,死无葬身之地

 

回复

155

帖子

0

TA的资源

一粒金砂(中级)

23
 
大家说的我都好陌生
 
 
 

回复

732

帖子

2

TA的资源

纯净的硅(中级)

24
 
可以,不错的,micropython是不是和这个差不多呢?没用过,不太懂。
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

25
 
汤权 发表于 2016-7-16 17:13
可以,不错的,micropython是不是和这个差不多呢?没用过,不太懂。

py和lua的区别
功能更精简,代码更小。
但够用的时候,lua王道,在单片机上,跑lua应该比py好很多

事实上我现在发现lua还是有点大,我还在精简。只要批处理功能
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

26
 
期待LZ后续的教程。把帖子看了一遍,貌似我稍微有点明白这东西是个啥了。其他的参考资料看的我云里雾里的。
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

27
 
我也好期待,我打算用Lua写点智能化的东西出来,就用在stm32上。速度慢点也不重要。楼点精简得怎么样了?
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

28
 
fogota 发表于 2017-2-9 15:21
我也好期待,我打算用Lua写点智能化的东西出来,就用在stm32上。速度慢点也不重要。楼点精简得怎么样了?

考虑用tcc
不知道编译出来多大。
它比起lua有一个地方最明显有优势

不需要每个函数重新按lua的接口封装一次。
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

29
 
辛昕 发表于 2017-2-9 16:58
考虑用tcc
不知道编译出来多大。
它比起lua有一个地方最明显有优势

不需要每个函数重新按lua的接口 ...

你说的tcc,是不是Tiny C Compiler。
我感觉Lua解析器弄出100K,还是有点大的。源文件是不是有一些可以精简?如果Lua转变成一种半编译的中间码,再解析,会不会代码体积更小,速度更快?
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

30
 
fogota 发表于 2017-2-10 13:44
你说的tcc,是不是Tiny C Compiler。
我感觉Lua解析器弄出100K,还是有点大的。源文件是不是有一些可以 ...

什么叫 半编译,这个我不理解。

是的,tcc 就是 tiny c compiler,号称最小的C编译器
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

29

帖子

1

TA的资源

一粒金砂(中级)

31
 
马克一个哈
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

32
 
本帖最后由 fogota 于 2017-2-10 16:05 编辑
辛昕 发表于 2017-2-10 15:00
什么叫 半编译,这个我不理解。

是的,tcc 就是 tiny c compiler,号称最小的C编译器

编译有一种是多层编译,就是将源代码先语句认别转换成一个不用认别的内部代码,又叫中间码。然后再做语法识别做下一层的编译。有可能经过多层编译,每一层都以一种不同的内部定义的代码形式表达,到最后成为汇编。
我的意思是只做一层或二层的编译,产生的代码其本就是BIN文件。但又不是CPU机器码。单片机读取后,不用做认别的工作,直接读二进制指令工作。而不是读文体再识别。这个二进制指令,不是指CPU的机器码,而是解译器内部定义的。

对了,可能跟你说的tcc的思路有点像。

你说的tcc,是怎么搞的?
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

33
 
fogota 发表于 2017-2-10 16:03
编译有一种是多层编译,就是将源代码先语句认别转换成一个不用认别的内部代码,又叫中间码。然后再做语法 ...

那什么你先把错别字改改,我真心看不懂......
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

34
 
fogota 发表于 2017-2-10 16:03
编译有一种是多层编译,就是将源代码先语句认别转换成一个不用认别的内部代码,又叫中间码。然后再做语法 ...

tcc就是个编译器,你说它怎么操作。
只是他很小,所以比一般的编译器可用在更多的范围的机器上
当然,我到现在还没成功编译,所以还是不知道到底小到什么程度,但我觉得,如果不能小到Kbytes级别,那意义不大
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

35
 
tcc搞定了么?然而看介绍说100k也是够大的。
另外tcc需要文件系统支持么?上个fs也麻烦。

lua的部分,核心区mdk编译40k(O3优化25k),但是baselib就要翻倍。
sting库和table库还需要20k左右(O3优化减半)
抛弃了这些库,lua的优势大大减少。
还是要仔细斟酌一下。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

36
 
本帖最后由 mrmengyi 于 2017-2-28 10:53 编辑
fogota 发表于 2017-2-10 16:03
编译有一种是多层编译,就是将源代码先语句认别转换成一个不用认别的内部代码,又叫中间码。然后再做语法 ...

java和.net就是这种方式。oracle数据库的存储过程也是(P-Code)
lua也是。
tcc好像也可以:
--------------------------------------摘录,未证实-----------------------------
TCC可以不编译C程序,而是把它直接运行,就像脚本解释语言那样。命令行如下:
    tcc  -run hello.c
效果:hello.c不需编译,直接运行了
这个将C程序直接运行的功能,是TCC独有的,其它C编译器都不行。
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

37
 
mrmengyi 发表于 2017-2-28 10:26
tcc搞定了么?然而看介绍说100k也是够大的。
另外tcc需要文件系统支持么?上个fs也麻烦。

lua的部分, ...

其实我也一直很担心tcc还是很大,毕竟那货是一编译器。
但我春节在家的时候,实在折腾看不到什么详细数据,也只好试试。
最关键是,tcc对C的调用有一种非常“天然”的方式,这对我来说有超级巨大的吸引力,基本没法抵抗。
相比于lua还要转一次接口。

我此前对lua的计划也是,去掉那些非必要的解释功能。
那帮人是搞PC的,老子是搞单片机的.......
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

38
 
mrmengyi 发表于 2017-2-28 10:26
tcc搞定了么?然而看介绍说100k也是够大的。
另外tcc需要文件系统支持么?上个fs也麻烦。

lua的部分, ...

一直没时间搞,别提了......
学车都没时间,就,就这周末打算报个名.......
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

39
 
mrmengyi 发表于 2017-2-28 10:52
java和.net就是这种方式。oracle数据库的存储过程也是(P-Code)
lua也是。
tcc好像也可以:
-------- ...

对了,老兄你试过没?
我当时本想找一个tcc在PC上的例程也好,然而都没找到。
最后我感觉了一下,似乎只有一条路走,根据makefile的指示,在cb上建一个tcc工程。
别跟我说在windows搞cygwin之类的,我都快想吐了,实在不行我还不如直接切到ubuntu下验证

诶,对啊,我为毛那么傻,我ubuntu硬盘白留的啊....我去

不过最重要的我还是要用一种这样的方式:
做一个项目,然后把tcc编译成一个库,供项目调用,哪怕是在pc上我也是要先这么试试,才能知道具体多大,要什么环境
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

40
 
mrmengyi 发表于 2017-2-28 10:26
tcc搞定了么?然而看介绍说100k也是够大的。
另外tcc需要文件系统支持么?上个fs也麻烦。

lua的部分, ...

lua的baselib带哪些东西,这个是用Lua必须的吗?
核心区是指编译器+虚拟机吗?
 
 
 

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

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表