首页 > 编程语言 >Cangjie—仓颉编程-Hello,World

Cangjie—仓颉编程-Hello,World

时间:2024-11-11 20:10:22浏览次数:3  
标签:cjpm 操作系统 Cangjie 仓颉 so PATH World Hello

仓颉工具链

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-jqP9rkdbzi4w
 https://cangjie-lang.cn/download
 在线编程 https://cangjie-lang.cn/experience
 仓颉语言命令行工具使用指南
  https://rcore-os.cn/rCore-Tutorial-Book-v3/chapter0/2os-interface.html

标签:cjpm,操作系统,Cangjie,仓颉,so,PATH,World,Hello
From: https://www.cnblogs.com/ytwang/p/18540458

相关文章

  • [CISCN2019 华北赛区 Day2 Web1]Hack World
    题目链接:[CISCN2019华北赛区Day2Web1]HackWorld。打开环境后如下所示。尝试输入1、2、3、4、...,发现仅存在三种结果。即1时,输出"Hello,glzjinwantsagirlfriend."。2时,输出"Doyouwanttobemygirlfriend?"。其他,输出"ErrorOccuredWhenFetchResult."。......
  • [CISCN2019 华北赛区 Day2 Web1]Hack World 1
    [CISCN2019华北赛区Day2Web1]HackWorld1打开实例发现是个POST注入框盲猜SQL注入,万能密码检测无果,而且经过测试存在大量sql关键字过滤尝试使用(),出现了bool(false),确定这是一道布尔注入题and被禁用,决定采用异或^注入构建payload脚本梭哈:成功获得flag:flag{a2f7089......
  • 「Mac玩转仓颉内测版3」入门篇3 - Cangjie的基本语法与结构
    本篇将深入探讨Cangjie语言的基本语法与结构。这些基础知识为编写高效、可维护的代码奠定了坚实基础。通过理解语句结构、表达式、注释及数据类型,能够更自信地使用Cangjie进行编程。关键词Cangjie基本语法语句结构表达式注释数据类型控制结构一、基本语法1.1语句结构......
  • The World is a Theatre
    TA.TheWorldisaTheatreTherearenboysandmgirlsattendingatheatreclub.Tosetaplay“TheBigBangTheory”,theyneedtochooseagroupcontainingexactlytactorscontainingnolessthan4boysandnolessthanonegirl.Howmanywaysare......
  • 「Mac玩转仓颉内测版1」入门篇1 - Cangjie环境的搭建
    本篇详细介绍在Mac系统上快速搭建Cangjie开发环境的步骤,涵盖VSCode的下载与安装、Cangjie插件的离线安装、工具链的配置及验证。通过这些步骤,确保开发环境配置完成,为Cangjie项目开发提供稳定的基础支持。关键词Cangjie开发环境搭建VSCode安装指南Cangjie插件离线安装MacC......
  • World of Warcraft [CLASSIC][80][the Ulduar] BOSS 14
    BOSS-14-观察者奥尔加隆修星德,懵懵懂过了:WorldofWarcraft[CLASSIC][80][theUlduar]-CSDN博客......
  • World of Warcraft [CLASSIC][80][the Ulduar] BOSS 12 13
    BOSS-12-维扎克斯将军BOSS-13-尤格萨隆WorldofWarcraft[CLASSIC][80][theUlduar]BOSS14-CSDN博客......
  • SS241030B. 世界(world)
    SS241030B.世界(world)题意在一个\(n\)列的竖着的二维世界里。每列有一个高度为\(a_i\)的石柱。你从\((1,a_1)\)的石头上面出发。每次可以往左或右边走一步(前提是左边或右边没有石头)、或者挖掉左边或者右边的石头、或者挖掉自己脚底下的石头。挖掉一个石头会使得它上面......
  • 15、三数之和-cangjie
    题目15、三数之和思路1、先进行sort,将数组按序排列2、遍历三个数中的mid3、判断sum,根据sum和0的差值调整left和right4、回归了TwoSum5、需要去重,去重的时候记得倒序遍历,不然迭代器溢出代码importstd.sort.SortByExtensionimportstd.collection.*classSoluti......
  • 《HelloGitHub》第 103 期
    兴趣是最好的老师,HelloGitHub让你对编程感兴趣!简介HelloGitHub分享GitHub上有趣、入门级的开源项目。github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言Python、Java、Go、C/C++、Swift...让你在短......