OS-APP 简介
OS-APP 是移植自多个开源库中的应用程序和用户运行库,其中包括南京大学开发的菜单、命令行、来自 GitHub 大神的 Bird 游戏、来自 Linux 的 libc 库等。这些应用程序和库都是基于 C 语言开发的,因此可以在我们的处理器上运行。
1 目录结构
OS-APP 的目录结构如下:
.
├── apps
│ ├── bird
│ ├── menu
│ ├── nslider
│ ├── nterm
├── fsimg
│ ├── bin
│ └── share
├── libs
│ ├── compiler-rt
│ ├── libSDL
│ ├── libSDL_image
│ ├── libSDL_mixer
│ ├── libSDL_ttf
│ ├── libbdf
│ ├── libbmp
│ ├── libc
│ ├── libfixedptc
│ ├── libminiSDL
│ ├── libndl
│ ├── libos
│ └── libvorbis
├── scripts
└── tests
├── bmp-test
├── cpp-test
├── dummy
├── event-test
├── exec-test
├── file-test
├── hello
└── timer-test
- apps:应用程序,包括菜单、命令行、bird 游戏等;
- fsimg:文件系统镜像,其中存储了编译好的二进制文件和资源文件;
- libs:用户运行库,包括 libc, libSDL 等;
- tests:测试程序,用于测试用户运行库的正确性。
2 应用程序展示
2.1 menu
一个简单的菜单程序,按对应的数字就可以运行对应的应用程序:
2.2 nterm
命令行程序,可以在其中执行命令,命令规则基本与 Linux 相同:
2.3 nslider
幻灯片程序,可以在其中浏览幻灯片:
幻灯片图片存储在 fsimg/share 目录下。
如果你想制作自己的幻灯片,只需要把 PDF 格式的幻灯片放在 nslider/slides 目录下,然后运行 covert.sh
脚本,就可以生成对应的图片文件。请注意,幻灯片的页数不宜过多,否则 ramdisk.img 会过大。
2.4 bird
一个小游戏,可以通过空格键控制小鸟的飞行,避开障碍物:
游戏资源存储在 fsimg/share 目录下。
这个游戏前期加载资源较多,因此启动需要一定的时间,请耐心等待。
3 应用程序开发
这里的应用程序都是基于 C 语言开发的,其使用的库函数都与我们日常编写 C 语言程序一致,同时也支持基础的 C++ 语法。大家如果想要开发自己的应用程序,请注意以下几点:
- 程序不宜过大,ramdisk.img 不能超过 20M;
- 程序调用的库必须和 OS-APP 中提供的库一致,否则会出现链接错误。