仓颉 Hello:修订间差异
跳到导航
跳到搜索
无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
=== Hello === | |||
// Hello, World! | // Hello, World! | ||
func fun1(str1:String) { | func fun1(str1:String) { | ||
第17行: | 第18行: | ||
Hello, World! | Hello, World! | ||
Output test from fun1. | 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) | |||
} | |||
[[分类:Develop]] | [[分类:Develop]] | ||
[[分类:国产开发语言]] | [[分类:国产开发语言]] |
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) }