cangjie (仓颉) vscode环境搭建

sdk下载

下载中心-仓颉编程语言官网

可选择半年更新版,不用申请。目前版本:0.53.13 ,选择不同平台压缩包下载解压到任意位置即可

补充下载,vscode插件解压后,在vscode扩展中选择从vsix安装,安装后新增名为cangjie的插件

还需要一个开发插件cangjie tools,从应用商店搜索下载即可

插件开发设置,CJNative 路径即是解压sdk后的路径

mac环境

修改~/.zshrc 环境变量,追加以下,在mac平台编译依赖必需

export SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

修改/etc/paths,追加以下

cangjie目录即是上一步解压后目录

bin是cangjie编译器cjc位置

tools/bin是cjpm项目管理工具位置

/path/to/sdk/cangjie/bin
/path/to/sdk/cangjie/tools/bin

ps:修改方法可以查看mac path变量设置 这篇文章

win环境

设置系统环境变量,追加以下,cangjie home目录即是上一步解压后目录

CANGJIE_HOME=你的仓颉目录

修改当前用户PATH变量值,追加以下

llvm 目录是平台运行时依赖必需,如果没有全局path,不可运行

bin目录cjc编译器

tools\bin存放的是cjpm等工具

toos\lib是工具的依赖

%CANGJIE_HOME%\runtime\lib\windows_x86_64_llvm
%CANGJIE_HOME%\bin
%CANGJIE_HOME%\tools\bin
%CANGJIE_HOME%\tools\lib

linux环境

前置条件

系统编译依赖

ubuntu 18系统为例

apt-get install \binutils \libc-dev \libc++-dev \libgcc-7-dev

ubuntu 20系统为例

apt-get install \binutils \libc-dev \libc++-dev \libgcc-9-dev

 还需要OpenSSL 3,及其他linux版本安装详情

修改环境变量/etc/profile,追加以下,cangjie home目录即是上一步解压后目录

export CANGJIE_HOME=你的仓颉目录

LD_LIBRARY_PATH 是平台运行时依赖必需

bin目录cjc编译器

tools\bin存放的是cjpm等工具

export PATH=$PATH:$CANGJIE_HOME/bin:$CANGJIE_HOME/tools/bin
export LD_LIBRARY_PATH=$CANGJIE_HOME/runtime/lib/linux_x86_64_llvm:$CANGJIE_HOME/tools/lib

 source /etc/profile 环境变量生效

测试使用

查看版本

cjc -v
cjpm -v

新建目录hello,在目录内执行终端或者cmd

init 是初始化项目

run 编译并运行

cjpm init
cjpm run

vscode中使用

 打开命令面板视图,搜索create Cangjie Project,回车确认执行,根据提示一步一步

 结果类似如下

 打开main.cj,点击三角图标运行,这种方式不能debug

 如果debug调试,需要点击菜单栏运行-->启动调试,这种方式运行

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

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

相关文章

微信小程序全局配置:导航栏、下拉刷新与上拉触底设置教程

微信小程序全局配置:导航栏、下拉刷新与上拉触底设置教程 引言 微信小程序作为一种新兴的轻量级应用,凭借其便捷性和丰富的功能受到了广泛的欢迎。在开发小程序的过程中,合理配置全局属性是提升用户体验的关键。本文将深入探讨小程序的全局配置中的window选项,重点介绍导…

CPU命名那些事

一、Intel CPU命名 1. 命名结构 Intel CPU 的命名通常包含以下几个部分: 品牌 产品线 系列 代数 具体型号 后缀 例如:Intel Core i7-13700K 2. 各部分含义 品牌 Intel:表示厂商(几乎所有命名中都有)。不同品…

【C++笔记】数据结构进阶之二叉搜索树(BSTree)

【C笔记】数据结构进阶之二叉搜索树(BSTree) 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】数据结构进阶之二叉搜索树(BSTree)前言一.二叉搜索树的概念二.二叉搜索树的性能分析三.二叉搜索树的实现3.1二叉树的中序…

无线图传下的低延迟视频传输播放技术探讨

技术背景 无线图传技术即无线图像传输技术,是指不用布线(线缆)利用无线电波来传输图像数据的技术。 一、工作原理 无线图传技术主要涉及图像采集、编码、调制、发射、接收、解调、解码和图像显示等环节。 图像采集:通过摄像头…

Linux的开发工具(三)

条件编译 预处理本质:对代码进行裁剪 像网易云音乐有vip和普通用户,可以通过条件编译来,这样只用写一份代码,也只用维护一份代码,是vip就走vip代码,不是就普通用户代码,条件编译来动态裁剪。 …

VSCode 汉化教程【简洁易懂】

VSCode【下载】【安装】【汉化】【配置C环境(超快)】(Windows环境)-CSDN博客 我们安装完成后默认是英文界面。 找到插件选项卡,搜索“Chinese”,找到简体(更具你的需要)(…

Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成

Ubuntu下的DoxygenVScode实现C/C接口文档自动生成 1、 Doxygen简介 Doxygen 是一个由 C 编写的、开源的、跨平台的文档生成系统。最初主要用于生成 C 库的 API 文档,但目前又添加了对 C、C#、Java、Python、Fortran、PHP 等语言的支持。其从源代码中提取注释&…

Linux网络——网络层

网络层的作用:在复杂的网络环境中确定一个合适的路径。 一.IP协议 IP存在的意义:IP地址提供一种能力,使得数据能够从主机B跨网络、可靠的送至主机A。 1.协议头格式 能够看出IP协议的格式与TCP协议存在很多相似之处,同样拥有4为首…

Shiro-550反序列化漏洞分析

🌸 环境配置 代码下载地址:https://codeload.github.com/apache/shiro/zip/refs/tags/shiro-root-1.2.4 下载完成之后,需要修改一下pom文件: 修改一下红色框中的配置。然后配置一下tomcat: 点击部署,然后…

【Rhino】【Python】Create a series of Blocks according to Value of object Property

文章目录 1. Complete Code Display2. Detailed Code Analysis2.1 Import and Setup2.2 Function Structure and Initial Setup2.3 Object Collection and Filtering2.4 Story Management System2.5 Locating Point Processing2.6 Object Organization by Story2.7 Block Creat…

CSP/信奥赛C++语法基础刷题训练(23):洛谷P1217:[USACO1.5] 回文质数 Prime Palindromes

CSP/信奥赛C语法基础刷题训练(23):洛谷P1217:[USACO1.5] 回文质数 Prime Palindromes 题目描述 因为 151 151 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 151 …

【探寻密码的奥秘】-001:解开密码的神秘面纱

目录 1、密码学概述1.1、概念1.2、目的1.3、应用场景 2、密码学的历史2.1、第一时期:古代密码时代2.2、第二时期:机械密码时代2.3、第三时期:信息密码时代2.4、第四时期:现代密码时代 3、密码学的基本概念3.1、一般通信系统3.2、保…

文件操作详解(1)

1.文件,文件与流,文件指针 2.文件的打开与关闭 3.文件的读写 文件的顺序读写: (1)fgetc 和 fputc (2)fgets 和 fputs (3)fscanf 和 fprintf (4&#x…

基于YOLOv8深度学习的人体姿态摔倒检测与语音报警系统(PyQt5界面+数据集+训练代码)

随着人口老龄化进程的加速,摔倒事故逐渐成为威胁老年人健康和安全的主要问题之一。研究表明,摔倒不仅可能导致老年人骨折、头部受伤等严重的身体损伤,还可能引发心理恐惧和行动能力下降,从而降低其生活质量和独立性。如何快速、准…

jmeter5.6.3安装教程

一、官网下载 需要提前配置好jdk的环境变量 jmeter官网:https://jmeter.apache.org/download_jmeter.cgi 选择点击二进制的zip文件 下载成功后,默认解压下一步,更改安装路径就行(我安装在D盘) 实用jmeter的bin目录作为系统变量 然后把这…

差分进化算法原理与复现

目录 摘要1、算法原理1.1、种群初始化1.2、变异1.3、交叉1.4、选择 2、算法实现2.1、种群初始化2.2、变异2.3、交叉2.4、选择2.5、选取终代种群中最优秀个体 摘要 如何选取一组最佳的参数,使得代价函数值最优?这是优化算法做的事,一个直觉的…

搜索引擎中广泛使用的文档排序算法——BM25(Best Matching 25)

在搜索场景中,BM25能计算每个文档与查询的匹配度,从中找出最相关的文档,并按相关性高低排序展示。 要理解BM25,需要掌握以下几个关键概念: 1. 词频(Term Frequency, TF):某关键词在文…

C语言笔记(自定义类型:结构体、枚举、联合体 )

前言 本文对自定义类型的结构体创建、使用、结构体的存储方式和对齐方式,枚举的定义、使用方式以及联合体的定义、使用和存储方式展开叙述,如有错误,请各位指正。 目录 前言 1 结构体 1.1 结构体的声明 1.2 结构体的自引用 1.3 结构体变…

【C++】list模拟实现(详解)

本篇来详细说一下list的模拟实现,list的大体框架实现会比较简单,难的是list的iterator的实现。我们模拟实现的是带哨兵位头结点的list。 1.准备工作 为了不和C库里面的list冲突,我们在实现的时候用命名空间隔开。 //list.h #pragma once #…

数字化工厂 MES试点方案全解析(三)

目 录 三、试点实施步骤 需求分析与方案设计阶段 系统开发与测试阶段 系统部署与培训阶段 试点运行与优化阶段 总结与评估阶段 三、试点实施步骤 需求分析与方案设计阶段 1、成立由企业生产、工艺、质量、设备、IT 等多部门人员组成的项目团队,与 MES 供应商共…