仓颉 Hello

来自牛奶河Wiki
阿奔讨论 | 贡献2024年3月18日 (一) 11:38的版本
跳到导航 跳到搜索

Hello

// Hello, World!
func fun1(str1:String) {
   println("Output " + str1 + " from fun1.\n")
}

main() {
   var s1 = "Hello, World!"
   println(s1)
   fun1("test")
}
# compile
cjc hello.cj -o hello
# hello 793664(VSCode: 795384)
# result
Hello, World!
Output test from fun1.

C function

  • 将调用的函数在 foreign 中定义,基本变量类型改为仓颉类型,变长用 ... 表达
  • 结构体定义 @C
  • 使用时,用 unsafe{}

编译时,会使用 C 库,如:gcc lib path: /lib/gcc/x86_64-linux-gnu/9。用 cjc ... -V 查看。

foreign {
    func srand(n: Int32): Unit
    func time(): Int32
    func rand(): Int32
}

main() {
   unsafe {
      var n1:Int32 = time()
      srand(n1)
   }

   let r1 = unsafe {
      rand()
   }
   println(r1)
}