安装仓颉编译器工具链与”Hello World!”的实现

内容纲要

@[toc]

安装与版本确认

仓颉编译器基于LLVM,目前官方文档仅说明工具链支持Ubuntu 18.04环境。特别说明,在这里实际测试Deepin 20.5

环境需求确认

仓颉目前依赖于Ubuntu 18.04中提供的系统文件。首先借助以下命令检查系统环境:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Deepin
Description:    Deepin 20.5
Release:        20.5
Codename:       apricot

另外,工具链依赖以下软件包:

  • binutils
  • libgcc-7-dev

现在,通过apt-get命令安装依赖:

$ sudo apt-get install binutils libgcc-7-dev

若在全新环境上安装依赖,还需要执行以下命令:

$ sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++.so

安装工具链

解压下载得到的安装包,并配置环境变量:

  • 解压:
    $ tar -xvf Cangjie_0.XX.X-ubuntu_18.04.tar.gz
  • 移动目录:
    $ sudo mv cangjie-v0.27.4-alpha/ /usr/lib/
  • 配置环境变量:由于临时变量在退出bash时会失效,因此需要将命令写入到.bashrc配置文件中
    $ vim ~/.bashrc
    source /usr/lib/cangjie-v0.27.4-alpha/cangjie/envsetup.sh   // 在最后一行添加
    :wq // 保存写入
  • 验证安装:
    $ cjc -v
    Cangjie Compiler: 0.27.4 (7ba5c4609a34 2022-03-26)

卸载与更新

在Linux平台,删除相应目录下文件,并移除环境变量即可卸载:

$ rm -rf /path/to/cangjie

若要更新仓颉版本,需自行卸载后重新安装新版本。

第一个仓颉程序(Hello World!)

创建项目目录

在~/Documents目录中创建名为cangjie_projects的目录,并在其下创建hello_world子目录。

$ mkdir -p ~/Documents/cangjie_projects/hello_world

第一个Hello, World!程序

在目录下用编辑器创建源文件,并写入代码。

$ vim hello_world.cj
/*
    Entry function
*/
func main()
{
    println("Hello, World!")  // Try to print something
}

其中,main是仓颉的入口函数,使用关键词func声明,在函数体{}中使用内置函数println打印Hello, world!

/* *///是仓颉的注释语法,分别用于多行注释和单行注释,这点与C语言类似。

接下来使用编译命令cjc hello_world.cj -o hello_world,得到可执行文件hello_world

$ cjc hello_world.cj -o hello_world
$ ls
hello_world  hello_world.cj

运行hello_world:

$ ./hello_world
Hello, World!

至此,Hello World!程序完成。若要了解cjc支持的编译选项,可通过cjc -h进一步查看编译器帮助。

留下评论

您的电子邮箱地址不会被公开。