前言

"仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。"
——摘自仓颉首页

本文将详细介绍如何使用仓颉编程语言创建静态库并在其他项目中引用,基于当前版本0.51.4。

前置条件

确保已按照Win11 + VSCode开发环境配置指南完成环境搭建。

创建静态库项目

  1. 创建新项目

    • 在VSCode中按下快捷键 Ctrl + Shift + P
    • 在搜索框中输入 Create Cangjie Project 并选择该选项
    • 选择 Create CJNative Cangjie Project
    • 选择 Create Static Output Cangjie Project
    • 在弹出的文件夹选择窗口中选择工程存放目录
  2. 配置项目信息

    • 在项目名称输入框中输入 statictest 并回车
    • 在左侧目录结构中找到 src -> demo.cj 文件
    • 修改文件内容:
      package statictestpack
      
      // 简单的加法函数
      func cjadd(a: Int, b: Int): Int {
          return a + b
      }
  3. 构建项目

    • 点击代码右上方的三角运行按钮
    • 构建完成后,在左侧目录中会出现 target -> release -> statictest 目录
    • 该目录下包含打包好的 .a 静态库文件
    • 注意项目根目录中的 cjpm.toml 文件,其中的 name 字段定义了库的名称

在其他项目中引用静态库

  1. 打开目标项目

    • 打开需要使用静态库的项目(以之前的helloworld项目为例)
  2. 添加依赖

    • 在文件目录下方找到 CANGJIE LIBRARY 工具栏
    • 点击 dependencies 右侧的加号按钮
    • 浏览并选择之前创建的 statictest 项目目录
    • 当插件提示 cjpm.toml 文件已更改 时,选择 Yes 重启LSPServer同步工程
  3. 验证依赖

    • 添加完成后,在 dependencies 列表中应能看到 statictest 的记录
  4. 使用库中的方法

    • 在helloworld项目的 main.cj 文件中添加导入语句:
      
      
      from statictest import statictestpack.*
    • 在代码中使用库中的方法:
      func main() {
          let result = cjadd(1, 2)
          print("1加2等于\(result)") // 输出: 1加2等于3
      }
  5. 运行项目

    • 点击运行按钮,观察终端输出结果应为 1加2等于3

注意事项

  1. 包名与库名的区别:

    • statictestcjpm.toml 中定义的库工程名称
    • statictestpack 是库项目中 demo.cj 文件声明的包名
  2. 静态库构建:

    • 确保静态库项目成功构建,生成 .a 文件
    • 检查 cjpm.toml 中的版本号和依赖信息
  3. 依赖管理:

    • 可以通过直接修改 cjpm.toml 文件手动添加依赖
    • 使用VSCode插件界面操作会自动同步到配置文件
  4. 跨项目引用:

    • 确保被引用的静态库项目路径正确
    • 如果遇到找不到库的问题,检查项目路径和 cjpm.toml 配置

通过以上步骤,您已经成功创建并使用了仓颉编程语言的静态库。这种模块化开发方式有助于代码复用和项目维护。

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐