免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: __BlueGuy__
打印 上一主题 下一主题

[算法] 其实, 我也不会脏矩形, 不知道论坛有没人贡献一份代码出来 [复制链接]

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
21 [报告]
发表于 2012-11-24 23:26 |只看该作者
回复 20# __BlueGuy__


    先试着用Lua,写点小游戏。我这里有个GraphApp,过个几天就准备开源(现在代码还在整理中,而且还没开发完)。你可以试着用它配合Lua写点小东西玩玩。然后你可能会想要让Lua调用C,你可以看一些简单的Lua C模块。这里推荐你去看Roberto写的struct模块。然后,看manual,全部都看,对Lua有一个主观上的了解。最后再去看Lua源代码。从lua.h开始看,理解每一个导出函数的含义和用法,然后看lapi.c和lauxlib.c,看看导出是如何实现的。最后你就可以去看l*lib.c系列文件了,看看标准库是如何实现的。

这一步过了,你基本上就已经是Lua专家了(切记,踏实。有一个函数没看就是没看完)。接下来你就可以专攻一项了,Lua几十个源文件,你专攻一个去看,推荐你第一个看的是基础件lmem.c,lzio.c,lstring.c,这些比较简单,容易上手,然后你配合我在论坛的帖子看ltable.c,这样基础件部分就搞完了。剩下的两个方向一个是lvm.c的虚拟机实现,配合Lcode.c,和lopcodes.c去看。另一个就是llex.c和lparser.c的编译器部分了。

最后,你就可以专攻遍及了整个Lua源代码的lgc.c垃圾回收了。看完了,这个,Lua对你来说就没有难度了。你可以从头开始,每个文件浏览一遍,从整体上体会Lua的设计。

我相信到了这一步,纯C开发对你来说就是举重若轻的事情了。而且你可以由此去推导C++开发的一些方法。接下来的事情,就是玩GraphApp,为其写一些Lua模块(protobuf协议啊,GUI系统啊等等),深入理解如何写Lua C模块。你会发现C的短板,然后你就可以对C++为何要提供那么多特性有了一个很清晰的认识。用C++的时候就不会茫然了。

这就是整个学习过程。算起来的话,一年肯定够了。我就是从去年这个时候开始这个过程的。

论坛徽章:
3
摩羯座
日期:2013-11-12 20:06:19午马
日期:2013-11-27 16:35:55双鱼座
日期:2014-04-04 19:02:30
22 [报告]
发表于 2012-11-25 15:30 |只看该作者
starwing83 发表于 2012-11-24 23:26
回复 20# __BlueGuy__


序哥,布道帖mark一个先
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP