项目简介
本项目包含两部分重要内容。其一为 PicoC,这是一个小型的 C 解释器,最初用于无人机机载飞行系统的脚本语言,也适用于其他机器人、嵌入式和非嵌入式应用。其核心 C 源代码约 3500 行,并非 ISO C 的完整实现,但具备基本要素,编译后占用代码和数据空间少,能在小型嵌入式设备中良好运行,且易于移植到新目标平台。其二是一个 C 语言编写的哈希计算程序,主要使用 CRC32 算法,可计算并打印全局变量的 CRC32 哈希值,用于验证代码执行过程中变量值的变化,是测试或验证程序正确性的工具。
项目的主要特性和功能
PicoC 部分
- 体积小巧:核心代码量少,编译后占用空间小,适合小型嵌入式设备。
- 功能基本:虽非完整的 ISO C 实现,但具备 C 语言基本要素。
- 易于移植:已在多种处理器上测试,修改相关文件可方便移植到新目标平台。
- 功能冻结:为保持小巧,不再添加更多主要功能。
哈希计算部分
- CRC32 算法:使用 CRC32 算法计算给定数据的哈希值。
- 状态跟踪:在特定语句执行前后计算和打印哈希值,跟踪程序执行过程中的状态变化。
- 验证工具:可用于验证代码执行过程中变量值的变化,辅助测试和验证程序正确性。
安装使用步骤
PicoC 编译与测试
- 在 UNIX/Linux/POSIX 主机上编译 PicoC,在项目根目录下输入
make
命令。 - 运行测试套件,在项目根目录下输入
make test
命令。
PicoC 移植步骤
- 在
platform.h
中选择平台类型并指定平台所需的包含文件等,该文件默认设置为 UNIX_HOST,需根据目标平台指定自己的主机设置。 - 在
platform_XXX.c
中编写一些 I/O 例程,以便编译器能在目标平台上工作,如如何向控制台写入字符等。 - 在
platform_library.c
中放入希望提供给用户程序的函数库。 - 根据需求修改
picoc.c
中的主程序,以将程序加载到系统中。
哈希计算程序使用
直接编译运行 .\tests\csmith\rand99.c
文件,程序将按逻辑计算并打印全局变量的 CRC32 哈希值,辅助验证程序执行过程中变量值的变化。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】