首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

PALM OS上的入门列子Hello world 01

PALM OS上的入门列子Hello world 01

 首先想说明的是这只是一个PDA程序开发的一个简单试例,与炫耀才能无关,只是想通过这个例子说明在Palm上进行程序设计原理。如果你是慧者,从中你一定能悟出Palm与PC程序开发的各种异同。所谓“触类旁通”也许在不经意之间Palm程序设计的大门已经向你敞开也说不一定呀。准备好了没有?朋友们,现在就让我们来仔细看看这个简单的程序试例吧!

  关于程序的说明

  这是一个规范的"Hello, world!"程序。它可能并不是最小的Palm OS程序,因为那样的话,会去掉很多在将此范例程序转化为一个能工作的Palm OS软件时很多对用户有用内容。但是这个程序范例仍然是我我所见过的"Hello world!"程序中最小的一个。

  这个程序的工作原理是这样的:用户在Palm掌上设备的显示屏上点击这个软件的图标,操作系统就会去寻找该程序中的PilotMain()函数。系统启动这个函数采用的将是“normal launch”启动代码。(当然,这里还有很多其它的启动代码,但是已经超过了“Hello world!”范例程序的讨论范围,详情请听下回分解)程序将装入主窗口,开始事件循环。从这里开始,所有的活动将发生在这个事件循环中,或者是由这个事件循环调用的函数中。这个事件循环的形式非常典型——在将来的软件开发中可以几乎原封不动的利用这部分代码。

  主事件循环执行的第一个事件就是frmLoadEvent。这个事件是被作为函数StartApplication()调用FrmGotoForm()的执行结果来传递的。程序对此的反应是启动窗口。启动关于窗口的事件处理进程,是最重要的初始化任务。因为随后的所有不被系统或者程序主事件循环处理的事件,都将由这个窗口事件处理进程来处理。在这个范例程序中的这个窗口事件处理进程可能显得比较一般般,但是它是一个真正的程序,它能够处理大多数的事件。当特定的情况发生是,事件救护发送到窗体的控制机构中。

 程序源代码:

  该程序的运行需要PRC-Tools 2.0和SDK 3.5。并在该系统下测试通过。压缩的ZIP文件hello.zip大小为2.5KB

文件:Makefile



####
# Macros

PROGRAM=hello
CC=m68k-palmos-gcc
PILRC=pilrc
OBJRES=m68k-palmos-obj-res
ICONTEXT='Hello!'
BUILDPRC=build-prc
APID=TEST
CFLAGS=-palmos3.5 -Wall -g
LFLAGS=-g

SOURCES=hello.c
OBJS=hello.o
PRC=$(PROGRAM).prc
RESOURCES=$(PROGRAM).rcp



####


# Major targets

all: $(PRC)

$(PRC): $(PROGRAM) bin.res
  $(BUILDPRC) $(PRC) $(ICONTEXT) $(APID) *.bin *.grc

$(PROGRAM): $(OBJS)
  $(CC) -o $(PROGRAM) $(OBJS) $(LFLAGS)
  $(OBJRES) $(PROGRAM)

bin.res: $(RESOURCES) resource.h icon.bmp
  $(PILRC) $(RESOURCES)
  touch bin.res

ctags:
  ctags $(SOURCES)

clean:
  rm -f *.bin *.grc *.o bin.res tags $(PRC) $(PROGRAM)

dist: clean
  rm -f ../hello.zip
  zip -9 ../hello *.[ch] *.rcp *.bmp Makefile



####
返回列表