简单的编程实战指南(Crystal编程实践之一)
# 注:本博客从此文开始进入连载模式,如对本博客的话题感兴趣 可以关注我。后期将有更多你感兴趣的内容,均会以专题连载的形式呈现。考虑到各位访客读者多半使用手机,文章会尽量压缩精简,点到即止 #
Crystal是静态编译型编程语言并且没有类似Java的虚拟机,用它编写的代码是直接以二进制文件的方式在系统本地运行的。所以,想要运行它所编写的程序通常情况下需要跟C/C 一样先编译成二进制再执行。
但是,如果你喜欢以交互方式(如ipython/ruby之类的解释型语言的命令行模式)使用Crystal的话, 你可以使用icr (github: crystal-community/icr) 。
安装crystal和icr都非常简单,请参考各自的项目官网。 Icr依赖crystal ,所以必须在安装完crystal之后安装。安装完之后在命令行执行 icr , 效果如下:
icr交互界面
接下来你就可以在些做一些交互式的操作了。输入 puts “hi” ,体验一下。
编写第一个crystal程序”Hello crystal”
按下Ctrl c回到shell 命令行, 创建一个叫hello.cr的文件 ,内容为 puts “hello crystal” , 如下图
编写第一个程序
此时可以执行一下程序,看下效果。使用crystal hello.cr 或crystal run hello.cr都可以。
执行.cr源文件
现在,进行编译,crystal build hello.cr --release
编译完后查看目录中多出一个可执行的二进制文件 hello,执行之。
执行二进制文件
这个小例子只用了一行代码,编写出了一个同C语言等效性能的程序。是不是集简洁与高效率于一身呢?
说明一下,生产环境打包请一定带上 --release参数 crystal会关闭debug信息,提升程序执行效率。
--link-flags -static表示采用静态编译,生成的二进制包将打包自带所有的依赖库,从而对外部库不会有任何依赖 可以做到随便丢哪台机器上都可以直接运行。如果不加,则程序默认依赖外部动态链接库, 我们看一下依赖:
二进制文件依赖的库
Crystal指令的参数和用法还有很多包括交叉编译等等 使用起来都很简单,有兴趣请--help自行参考
本文到此结束,下节将浓缩的讲一下crystal语法,敬请关注。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com