28. 如何贡献内核

28.1. 开发约定

| 项目 | 值 | | —- | —- | | C 语言标准 | c99 (不带 gnu 拓展) | | 常量宏 | 允许使用 | | 仅用于内联的宏函数(可以与普通函数简单互换) | 允许使用 | | 宏开关 | 谨慎使用 | | 其他宏函数 | 原则性禁止 | | 宏拼接 | 原则性禁止 | | 普通变量命名 | 下划线命名 | | 普通函数命名 | 下划线命名 | | 对象属性命名 | 小驼峰命名 |

注:原则性禁止的项目,如确有使用的必要,则每处使用均需单独讨论。

28.2. 内核开发环境

28.2.1. 方案一 Linux下开发(推荐)

Linux 环境推荐ubuntu20.04

安装步骤:

step1: 拉取项目

  1. git clone https://github.com/pikastech/pikascript cd pikascript/port/linux

step2: 编译项目

  1. sh install_dependency.sh # 安装依赖,第一次用时运行
  2. sh pull-core.sh #从 /src 目录中拉取源码,第一次用时运行
  3. sh init.sh # 第一次编译前运行,之后就不用运行了
  4. sh make.sh # 编译项目

step3: 运行单元测试

  1. sh gtest.sh

step4: 运行基准测试

  1. sh ci_benchmark.sh

step5: 提交源码

  1. sh push-core.sh # 推送源码至 /src 目录
  2. git commit -a
  3. git push

28.2.2. 方案二 pico 实机开发

准备树莓派 pico 开发板一份,然后 clone 完整仓库,使用仓库中的 bsp/pico-dev 工程。