创建仓颉编程语言的第一个项目

创建仓颉编程语言的第一个项目

    • 安装仓颉编程语言编译器
    • 第一个仓颉项目

安装仓颉编程语言编译器

安装仓颉编程语言编译器,是一个需要非常强的动手能力的过程——有大量的命令行操作。这不是仓颉编程语言独有的特点。现在流行的编程语言,比如 kotlinjavarustgoscalaC/C++(微软/Intel/Clang/Mac/GCC),它们其实都可以用命令行方式安装,并且都可以脱离 IDE使用。

这些编程语言,包括仓颉,都是环境无害的,也就是说,它们都是下载完安装包,解压完毕,把编译器所在的文件夹添加到PATH环境变量里,就可以在命令行上编译程序了。

仓颉在安装方法上,没有任何例外,具体步骤,请参考安装仓颉工具链。

注意: 后续有大量的命令行操作。

第一个仓颉项目

参考文档在这里。

  1. 运行下面的命令创建新项目:
cjpm init --name hello --path demo

上面的命令,创建了一个名字是 hello,并且把这个放在了名字是demo的目录里。类型默认为 executable,编译结果是一个可执行文件。

  1. 进入 demo 目录:
cd demo
  1. 运行下面的命令编译发行版的包:
cjpm build
  1. 运行下面的命令编译调试版的包:
cjpm build -g
  1. 运行发行版包:
cjpm run

6.运行调试版包:

cjpm run -g

第一个项目,就这样创建完了。如果你熟悉rust,你会发现仓颉项目和rust项目的创建过程有点像。这些新时代的新风格。原来都是只提供机制,不提供策略,比如C++。现在是即提供机制,也提供策略。这是新的变化,简化构建、依赖项管理等问题的同时,也加大了学习成本。

生成的源代码文件是 main.cj,放在 src 目录里。你可以使用任何编辑器编辑源代码。官方有个VSCode插件,提供完善的代码提示功能,可以在 VSCode 和 VSCodium 里开发仓颉项目。

注意: 创建项目,是在命令行上做的。编写代码的时候,可以用 VSCode 打开项目目录。

<完>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/65137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kong网关使用pre-function插件,改写接口的返回数据

一、背景 kong作为api网关&#xff0c;除了反向代理后端服务外&#xff0c;还可对接口进行预处理。 比如本文提及的一个小功能&#xff0c;根据http header某个字段的值&#xff0c;等于多少的时候&#xff0c;返回一个固定的报文。 使用到的kong插件是pre-function。 除了上…

计算机网络:IP地址相关知识总结

目录 一、IP地址的表现形式 1.1 十进制表示形式 1.2 二进制表示形式 1.3 转换示例介绍 二、IP地址的组成 2.1 网络ID 2.2 主机ID 2.3 示例 三、IP地址的分类 3.1 A类地址 3.2 B类地址 3.3 C类地址 3.4 D类地址 3.5 E类地址 四、常见的特殊IP地址 五、IP地址二进…

基础练习 Huffman树,C++,最小堆,STL

Description Huffman树在编码中有着广泛的应用。在这里&#xff0c;我们只关心Huffman树的构造过程。 给出一列数{pi}{p0, p1, …, pn-1}&#xff0c;用这列数构造Huffman树的过程如下&#xff1a; 1. 找到{pi}中最小的两个数&#xff0c;设为pa和pb&#xff0c;将pa和pb从{…

Java获取自身被调用点

1. 场景 打印日志的时候&#xff0c;需要获取是在哪个地方被调用了&#xff0c;把调用点的信息一并打印出来。 2. 获取自身被调用点的方法 可以通过获取线程的调用栈&#xff0c;遍历后找到调用点。 3. 代码实现 import java.text.SimpleDateFormat; import java.util.Dat…

vue3入门教程:teleport

一、基本语法 Teleport组件的基本语法如下&#xff1a; <Teleport to"目标选择器"><!-- 要传送的内容 --> </Teleport>其中&#xff0c;to属性指定了内容将被渲染到的目标位置&#xff0c;它可以是一个CSS选择器字符串&#xff08;如#some-id、.…

群晖Cloud Sync一键同步让数据管理变得简单

前言&#xff1a;在这个数字化爆炸的时代&#xff0c;数据管理和备份已经变得不可或缺。无论是个人用户还是企业&#xff0c;都需要一种既高效又可靠的方式来管理和备份分散在各种设备和云存储中的文件。而群晖的 **Cloud Sync** 套件正是为了解决这个问题而生。 Cloud Sync 是…

docker 部署mysql8

在Docker中部署MySQL 8是一个相对简单的过程。以下是基本的步骤&#xff1a; 拉取MySQL 8镜像&#xff1a; 使用Docker命令拉取最新的MySQL 8镜像&#xff1a; docker pull registry.openanolis.cn/openanolis/mysql:8.0.30-8.6创建并运行MySQL容器&#xff1a; 创建并运行MySQ…

Triple三倍

time limit per test 1 second memory limit per test 256 megabytes Given an array aa of nn elements, print any value that appears at least three times or print -1 if there is no such value. Input The first line contains an integer tt (1≤t≤1041≤t≤10…

GPIO+TIM(无PWM)实现呼吸灯功能

程序特点&#xff1a; 1、模块化&#xff0c;可快速移植&#xff0c;5分钟便可完成移植。 2、通过GPIO普通定时器&#xff0c;实现呼吸灯功能。 3、PWM周期为5ms&#xff0c;占空比调节时间为20ms&#xff0c;占空比为100等份&#xff0c;即呼吸灯从暗到亮需要20ms*1002s。 …

前缀树介绍

数风流人物&#xff0c;还看今朝&#xff01; 前缀树 Trie&#xff08;发音类似 "try"&#xff09;或者说 前缀树 是一种树形数据结构&#xff0c;用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景&#xff0c;例如自动补全和拼写检查。 前…

基于遥感与通信技术的灾害应急测绘

基于遥感与通信技术的灾害应急测绘研究评述与展望 摘要 本研究围绕基于遥感与通信技术的灾害应急测绘展开&#xff0c;深入探讨其在灾害管理中的重要性及当前发展现状。遥感技术凭借高分辨率、广覆盖的特性&#xff0c;已成为获取灾害信息的核心手段。结合5G通信与低轨卫星技术…

37 Opencv SIFT 特征检测

文章目录 Ptr<SIFT> SIFT::create示例 Ptr SIFT::create Ptr<SIFT> SIFT::create(int nfeatures 0,int nOctaveLayers 3,double contrastThreshold 0.04,double edgeThreshold 10,double sigma 1.6 );参数说明&#xff1a;nfeatures&#xff1a;类型&#x…

家政预约小程序数据库设计

目录 1 如何设计表结构1.1 用户表1.2 服务分类表1.3 服务表1.4 服务规格表1.5 订单表1.6 服务人员表1.7 评价表1.8 促销活动表1.9 投诉表1.10 年卡表1.11 派单表1.12 支付记录表1.13 通知记录表1.14 优惠券表1.15 用户优惠券表1.16 消息模板表1.17 积分记录表 经过一系列的设计…

kkfileview代理配置,Vue对接kkfileview实现图片word、excel、pdf预览

kkfileview部署 官网&#xff1a;https://kkfileview.keking.cn/zh-cn/docs/production.html 这个是官网部署网址&#xff0c;这里推荐大家使用docker镜像部署&#xff0c;因为我是直接找运维部署的&#xff0c;所以这里我就不多说明了&#xff0c;主要说下nginx代理配置&am…

扩散模型经典问题:训练Diffusion Models的Loss有什么特别之处?

AIGC算法工程师 面试八股文 Diffusion Loss的推导原理?训练Diffusion Models的Loss有什么特别之处?Diffusion Models的Loss下降趋势是什么样的?为什么训练Diffusion Models的Loss会有这样的特征? 目录 Diffusion Loss的推导原理 一般Diffusion Models训练Loss特征 Loss可…

【数据可视化案列】白葡萄酒质量数据的EDA可视化分析

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

MyBatis 的一级缓存和二级缓存

MyBatis 提供了两种缓存机制&#xff0c;分别是 一级缓存 和 二级缓存。它们可以显著提高数据库操作的性能&#xff0c;通过减少数据库的访问次数&#xff0c;但它们的工作原理、作用范围以及使用方式有所不同。 一、一级缓存 1. 概述 一级缓存是 SqlSession 级别的缓存&…

压缩qcow2镜像带来的性能损失简单分析

本文拟对压缩qcow2镜像所带来的虚拟机性能损失进行简单分析 背景 生产中发现使用压缩镜像启动的虚拟机开机总是会慢一些。 qcow2镜像的压缩方式为&#xff1a;qemu-img convert -p -c -O qcow2 zero_disk.qcow2 compress_disk.qcow2 分析 qemu代码&#xff1a;https://down…

数据结构之栈,队列,树

目录 一.栈 1.栈的概念及结构 2.栈的实现 3.实现讲解 1.初始化栈 2.销毁栈 3.压栈 4.出栈 5.返回栈顶元素 6.返回栈内元素个数 7.判断栈内是否为空 二.队列 1.队列的概念及结构 2.队列的实现 3.实现讲解 1.初始化队列 2.销毁队列 3.单个成员入队列 4.单个成员…

2、C#基于.net framework的应用开发实战编程 - 设计(二、三) - 编程手把手系列文章...

二、设计&#xff1b; 二&#xff0e;三、构建数据库&#xff1b; 此例子使用的是SQLite数据库&#xff0c;所以数据库工具用的SQLiteStudio x64&#xff0c;这个是SQLite专用的数据库设计管理工具&#xff0c;其它的数据库管理工具比如DBeaver的使用请见实战工具系列文章。 1、…