Cangjie—仓颉编程-Hello,World

news/2024/11/13 7:39:31/文章来源:https://www.cnblogs.com/ytwang/p/18540458

仓颉工具链

cjc   (Compiler 编译                         
CJPM  (Cangjie Package Manager)   cjpm 是仓颉语言的包管理工具    
cjdb  (Debugger) cjdb是一款基于开源LLDB开发的仓颉调试工具
cjfmt (Cangjie Formatter)代码自动格式化工具。
cjcov(Cangjie Coverage)官方覆盖率统计工具
cjprof(Cangjie Profile)是仓颉语言的性能分析工具cjpm init  命令 初始化一个新的仓颉模块,这个命令会生成一个包含cjpm.toml模块配置文件和src仓颉源码目录的工程结构cjpm build 命令 一键式构建仓颉项目cjpm run   命令构建并运行仓颉项目在cjpm.toml配置文件中提供提供了dependencies字段去指定构建依赖项cjpm 提供了命令扩展机制

其他语言

 rustc cargo  (cargo new )Rust 语言通过 cargo 工具提供 build 前置构建的开发者自定义配置

配置环境变量

PATH=$PATH:/opt/cangjie/bin:/opt/cangjie/tools/bin
export PATH

配置动态库

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cangjie/bin/runtime/lib/linxu_x86_64_llvm/普通用户自己编译生成的.so库文件,
比较好的做法是将这些.so库文件的路径用export指令加入到~/.bash_profile中的LD_LIBRARY_PATH变量1.一般安装目录在:/usr/local/lib-->配置文件在:/etc/ld.so.conf文件中将该目录加入到共享库的配置文件中具体操作:将动态库文件加入配置:执行vi /etc/ld.so.conf,在"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib"。2.保存后,在命令行终端执行: /sbin/ldconfig -v   ldconfig其作用是将文件/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供使用

操作系统层次

操作系统的使用与应用站在使用操作系统的角度会比较容易对操作系统内核的功能产生初步的认识	操作系统的原理与概念-全局观和系统思维
操作系统的设计与实现-系统实现

操作系统层次

 3.用户^|----- 编程接口(API, Application Programming Interface)<--> API 是用来约束编译器 (Compiler)|     例如 sys_write 用户库函数封装了 sys_write 系统调用的API接口|2.应用程序<-->应用程序-^|----- 系统调用接口 (System Call Interface)--|----- 应用程序二进制接口(ABI, Application Binary Interface)-约束链接器 (Linker) 和汇编器 (Assembler)|----- 例如 sys_write 系统调用的ABI接口描述了具体用哪些寄存器来保存参数和返回值|1.操作系统的服务^

附录

  LLDB,全称为 Low-Level Debugger,是苹果公司开发的一款开源、高性能的源代码级调试器。LLVM,全称为 Low Level Virtual Machine(低级虚拟机)的简称,是一款编译器框架是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time)MinGW - Minimalist GNU for Windows     

参考

 仓颉语言工具链设计与实现 https://mp.weixin.qq.com/s/1sG0SFO64-jqP9rkdbzi4whttps://cangjie-lang.cn/download在线编程 https://cangjie-lang.cn/experience仓颉语言命令行工具使用指南https://rcore-os.cn/rCore-Tutorial-Book-v3/chapter0/2os-interface.html

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

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

相关文章

java小课设:使用MySQL做一个聊天室

bro是个懒狗,耗时一个晚上,只写了一些基础功能,其他的可以根据需要自己添加实现思路:在MySQL数据库中设置一个message表,用来存储聊天信息,聊天界面输入的内容写入message表,用户程序每秒从MySQL中获取一次聊天记录,并加载进入自己的页面,实现聊天室。食用方法: Chat…

Quartz集群增强版_00.How to use?(如何使用)

Quartz集群增强版_00.How to use?(如何使用)转载请著名出处 https://www.cnblogs.com/funnyzpc/p/18540378开源地址 https://github.com/funnyzpc/quartz 表的基本结构 总的来说任务的配置及开发基本遵从上图的表的基本关系,除 app 以及 node 之外均需要手动手动配置,app…

开源三代示波器的高速波形刷新方案开源,支持VNC远程桌面,手机,Pad,电脑均可访问(2024-11-11)

说明: 1、本来这段时间是一年一度Hackaday硬件设计开源盛宴,但hackaday电子大赛在去年终结了。所以我开源个我的吧。 2、三代示波器的高速波形刷新方案,前两年就做好了,这两年忙H7-TOOL的更新比较多,三代示波器的更新就搁置了。但刷新方案是没问题的,开源分享给大家。 3、…

PSQL 环境安装配置

准备工作:安装包 plsqldev1400x64.msi 注册码 汉化包 chinese.exe 轻量级数据 instantclient_11_2 安装【PSQL】第一步大法操作! 默认的安装路径:C:\Program Files\PLSQL Developer 14安装【轻量级 instantclient_11_2】 复制或解压到 C:\Program Files\PLSQL Developer…

零声QT学习 一

int main(int argc, char *argv[]) {QApplication a(argc, argv);//QApplication a(argc, argv),针对QWidget应用程序,管理和设置Qt程序的运行//QGuiApplication a(argc, argv),针对非QWidget应用程序,如QQuick//QcoreApplication a(argc, argv),针对无界面的应用程序MainWindo…

【教程】第四章:任务与评论插件 —— 如虎添翼,顺利掌握

一起在 NocoBase 中创造精彩应用!这些教程将通过手把手的操作,帮助你全面掌握核心功能,激发灵感,打造并分享满足多样需求的应用。回顾上一节 小伙伴们还记得上一节的挑战任务吗?我们要为任务表配置 状态 和 附件 字段,并在任务列表里展示它们。别急,咱们先揭晓答案!状态…

wsl2踩坑日记(配置代理/zsh+p10k/Neovim)

1. proxy wsl --install Ubuntu-24.04 安装好 wsl 之后,测试了一下 v2rayN 的代理能不能正常使用(用 vultr 服务器搭建的校园网 ipv6 免流),发现可以 curl www.google.com,但是 sudo apt-get update 报错 Clearsigned file isnt valid, got NOSPLIT (does the network req…

基于MIMO系统的SDR-AltMin混合预编码算法matlab性能仿真

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 仿真操作步骤可参考程序配套的操作视频。2.算法涉及理论知识概要基于MIMO(Multiple-Input Multiple-Output)系统的SDR-AltMin混合预编码算法是一种先进的无线通信技术,它结合了凸优化和交替最小化技术来…

前端技术对html中块级元素的学习

块级元素目录块级元素列表元素有序列表无序列表自定义列表 列表元素 有序列表 在 HTML 中, 标签用来表示有序列表。有序列表之间的内容有先后顺序之分,例如菜谱中的一系列步骤,这些步骤需要按顺序完成,这时就可以使用有序列表。 我们来看一个简单的实例: <!DOCTYPE ht…

IDEA-idea激活

通过百度网盘分享的文件:IDEA激活工具 链接:https://pan.baidu.com/s/18QIqrMVE4ScNhBjhwde_7Q 提取码:sky1二、重启电脑

说明与笔记导航

对使用这些笔记的同学想说的话,以及更新进度。为什么写这么多B东西? 其一呢是帮助我自己,边写笔记边梳理知识;其二呢是帮助各位义父义母考试成功。 更新进度与内容说明 11.11:本周工作日需突击学习python,计划今晚更新有限体积法剩余部分。 目前进度:3009 建模:数值方法…

鸿蒙NEXT开发案例:指尖轮盘

【1】引言 “指尖轮盘”是一个简单而有趣的互动游戏(类似抓阄),这个应用通过触摸屏幕的方式,让玩家参与一个激动人心的游戏,最终选出幸运的赢家。未来可以进一步扩展功能,如增加游戏模式、优化动画效果、增加音效等,提升用户体验。 【2】环境准备 电脑系统:windows 10 …