使用Python脚本语言进行程序编辑

开发 后端
对于一些对Python脚本语言偏爱和熟悉的用户,下面讲述的开发过程无论主机环境还是moblin的平台都采用的是ubuntu。

如何使用Python脚本语言在游戏中进行操作里面主要有两种方式,一种方式是主程序使用一门高级语言,比如C++进行编写,然后对其嵌入一个脚本解释器,在运行时动态执行一些脚本函数。

启动Python脚本语言,Platform选择memlow-lpia-ubuntu-hardy,target选择ububtu-mobile,自动生成即可,等待的时间那叫一个长啊。这也是工具的好与不好,之前敲命令,交叉编译了Gnome Mobile框架的几乎所有模块,吃尽了苦头,但不至于闲着没事干;

而由工具自动生成呢,清闲了很多,也不太关心编译的细节,就是盼着赶快编完,好做测试。接下来,生成Image文件,选择Live RW USB。此时以为大功告成了,点击Launch VM,没有反应...郁闷阿。Google,运行KVM需要CPU支持Intel VT才行,手头又没有MID,那就试试Qemu吧。

把编成的映象文件(Launch VM时选择的文件)直接扔给Qemu,结果“checking device /dev/sda for installation source...”问题出在哪呢,把映象文件挂到本地也没有看出个所以然,其实,Python无法直接跑出画面也在预料之中(此处Qemu的使用可能存在问题 qemu -hda moblin.img)。

由于内核、文件系统由MIC生成,使得很多处理的细节无法得知,但编译的文件总是存在的吧,我想完全可以根据MIC生成的文件来创建Qemu仿真所需的文件。内核可以在${Project Name}/targets/${Target Name}/fs/boot中找到,主要的工作是建立根文件系统的ext3文件:

  1. dd if=/dev/zero of=1G.img bs=1M seek=1000 count=0 
  2.          mkfs.ext3 1G.img  
  3.          sudo mount 1G.img ${Mount Dir} -o loop  

接下来就比较简单了,拷贝${Project Name}/targets/${Target Name}/fs下的所有内容到${Mount Dir},根文件系统就算形成了(没用的内容请删掉,我的目录下有内核的连接)。linux启动过程一切顺利,提示输入用户名和密码...再次挂载根文件系统1G.img,删掉shadow?还是用文明一点的办法吧,拷贝本机/etc/shadow到${Mount Dir}/etc。

再次启动,得到了shell,可还是没有图形界面(如果MID需要手工启动X,感觉有点多此一举,问题可能出在配置上,没有深究,跑起X再说)。没有/etc/init.d/gdm,还是startx吧,令人沮丧的事再次发生,“(EE):no valid modes found”。没办法。

只能再次挂载根文件系统,添加Modes “800x480”(仅仅是我添加的模式,不知是否支持其他)。总算见到画面了,也许是费了些周折的缘故吧,觉得Moblin的界面还是很漂亮的。

使用同样的方法,可以用Qemu对其他Platform进行仿真(没有一一验证,测试过netbook-lpia-moblin2)。之所以选择Python,首先,易于移植,Python解释器把源代码转换成字节码,然后再把它翻译成机器语言并运行,不需要担心如何编译程序。

如何连接到正确的库等等,只需要把Python脚本语言拷贝到目标机上,它就可以工作了;其次,最近一直在写Python。觉得它可以快速地把想法变成现实,就懒得用C了;***呢,Python是一种极其流行的解释性语言,我们可以看到在Gnome Mobile的原型中也保留了Python的编程接口。

责任编辑:chenqingxiang 来源: 51CTO.com
相关推荐

2010-02-26 09:33:51

Python脚本

2010-03-25 16:31:55

Python代码

2011-07-06 16:54:44

ASP

2010-02-24 14:04:32

Python脚本语言

2022-07-04 08:35:57

Vim 9.0Linux脚本语言

2010-02-24 15:41:53

Python解释器

2011-09-07 09:51:27

Javascript

2011-08-25 09:55:27

2011-08-23 09:44:28

LUA脚本

2011-08-22 17:41:23

LUA 脚本 语言

2011-08-22 18:00:53

Lua语言

2009-06-10 08:41:15

Linux脚本语言

2010-07-01 09:29:15

Java脚本语言javax.scrip

2010-03-17 17:06:10

python脚本语言

2012-07-16 11:23:18

LinuxWindows脚本语言

2011-08-25 10:40:21

Lua游戏

2011-08-16 10:03:45

Groovy编程语言Web

2009-04-03 09:16:22

PHPRubyPython

2011-08-22 16:59:28

Lua

2011-08-25 11:02:04

点赞
收藏

51CTO技术栈公众号