作者:乔汝嘉 团队:坚果派
“仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。” ——摘自仓颉首页[1] 本文将逐步实现仓颉静态库的创建和使用,使用的当前版本为0.51.4。
关于Win11 + VSCode的开发环境,请参考这篇文章[2]
Create Cangjie Project
并选择Create CJNative Cangjie Project
Create Static Output Cangjie Project
statictest
,并回车src -> demo.cj
,文件中只有一行默认的注释// You can write Cangjie code here.
package statictestpack
并在下方简单的创建一个方法cjadd()
,用于做加法taget -> release -> statictest
目录。里面有打包好的.a文件等。statictest
是创建工程的时候设定的。另外可以看到项目根目录中的cjpm.toml
中name
字段。这个字段的值设置了三方库的名称。statictest
库的项目。这里取[上一篇]((https://ost.51cto.com/posts/29298 "上一篇"))的helloworld项目CANGJIE LIBRARY
,在这里可以方便的设置三方库的引用CANGJIE LIBRARY
中的dependencies
右侧有个加号,点击它statictest
项目的目录,并选择cjpm.toml文件已更改,是否重启LSPServer
,选Yes
来同步一下工程。由此我们可知,这一部分的界面操作,实质是在对cjpm.toml
配置文件的更改。如果你很熟悉这个文件,也可以手动修改cjpm.toml
配置文件dependencies
多了一个依赖库的记录。main.cj
的第一行写from statictest import statictestpack.*
。这里为了区分名称,我在之前写库的时候,包名和库名特地写成了不一样的。还记得吗?statictest
是库工程中cjpm.toml
的name
字段。statictestpack
是库项目中,demo.cj
开头声明的package
。cjadd()
方法了。参考资料
[1]
仓颉首页: https://developer.huawei.com/consumer/cn/cangjie
[2]
这篇文章: https://ost.51cto.com/posts/29298