项目简介
本项目包含一个小型C解释器PicoC和双向链表的实现。PicoC最初为无人机机载飞行系统编写,也适用于其他机器人、嵌入式和非嵌入式应用。其核心C源代码约3500行,编译后占用少量代码和数据空间,能在小型嵌入式设备良好运行。双向链表实现可用于教学或测试目的,展示了双向链表的基本操作。
项目的主要特性和功能
PicoC解释器功能
- 多种运行模式:支持从命令行运行标准C程序,能处理多文件程序;可运行脚本文件,脚本无需系统头文件和
main
函数;支持交互式模式,可定义变量、函数,使用delete
语句重新声明。 - 环境变量配置:可通过设置
STACKSIZE
环境变量改变栈空间大小。 - 可移植性:在多种处理器测试过,修改
platform.h
、platform_XXX.c
、platform_library.c
等文件可移植到新平台。 - 自定义库函数:允许用户用原生C编译器定义库函数,控制硬件。支持多种参数类型和可变参数函数。
- 与C90的差异:非完整C90实现,但多数程序可无修改运行,具备脚本能力,部分C90特性有实现但有一定限制。
双向链表功能
实现双向链表基本操作,包括尾部入队、头部入队、尾部出队、头部出队和反转链表,操作灵活性高于单向链表。
安装使用步骤
编译PicoC
- UNIX/Linux/POSIX系统:在项目根目录下,使用
make
命令编译;使用make test
命令运行测试套件。 - Windows系统:使用
msvc/picoc
文件夹中的MSVC++ sln文件进行编译。
运行PicoC
运行标准C程序
C
$ picoc file.c
若程序拆分为多个文件,可在命令行列出所有文件:
C
$ picoc file1.c file2.c file3.c
若程序需要参数,在-
字符后添加参数:
C
$ picoc file.c - arg1 arg2
运行脚本文件
C
$ picoc -s file.c
交互式模式
```C
picoc -i
`` 在交互式模式中,可使用
delete语句重新声明变量或函数,使用
control - D`退出交互式模式。
双向链表代码使用
可直接编译运行包含双向链表实现的代码文件,main
函数中已对链表操作进行了测试,可验证链表操作的正确性。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】