我是靠谱客的博主 呆萌画笔,这篇文章主要介绍在 mac os 上运行 kotlin native 的第一个程序:hello world,现在分享给大家,希望可以做个参考。

原文链接:在 mac os 上运行 kotlin native 的第一个程序:hello world


背景

  不久前有群友在讨论kotlin,就翻看了聊天记录,发现了kotlin native,能把kotin代码编译成本地可执行文件。就到kotlin的官方网站看了一下。觉得kotlin native确实很有潜力,能够零开销调用c代码,这比JNI要好很多。也许能把kotlin当做一个语法先进的c了。
  顺便说一下,我在2015年使用过一年的kotlin,用来做游戏服务器的开发,对kotlin的基本语法很熟悉了。如果kotlin能以很低的开销来做系统开发的话,这是我很乐意看到的。我前学了半年的swift,发现这货的运行开销很高,不是我想要的,现在有了kotlin native,我倒是想发掘一下,看看它究竟能干什么,希望他给的比我期望的更多。
  现在kotlin native的文档很少,基本是零文档,那没办法,想要探索的话只能是:动手!!!

编译kotlin-native

  1. 从github下载kotlin native
  2. cd kotlin-native
  3. 下载依赖包:
    ./gradlew dependencies:update
  4. 编译
    ./gradlew dist

  至此,我们就得到了kotin的native编译器,它们在目录:./dist/bin。

编写hello world

  kotlin-native自带了十来个例子,都是可以编译运行的,此刻,我们对kotlin的编译过程还不太熟悉,就先沿用例子中的编译方式。kotin-native本身是一个gradle项目,可以用idea直接打开这个目录,会自动识别项目类型。不要忘记安装kotin插件,这样idea才能识别kotlin的语法。如果你不使用idea,那你可以忽略它。

  1. 翻到kotlin-native/samples,复制socket目录,并命名为hello。
  2. 进入hello目录,保留build.gradle和main目录,删除其余文件。
  3. 修改hello/build.gradle如下,这里是告诉gradle要编译Hello.kt这个文件:

    apply plugin: 'konan'
    konanArtifacts {
    Hello {
    }
    }
    
  4. 删除hello/src/main/kotlin下的所有文件,在hello/src/main/kotlin下创建文件Hello.kt,内容如下,这程序只打印了两个字:
    import kotlinx.cinterop.*
    fun main(args: Array<String>) {
    println("Hello world")
    }
    
  5. 修改 kotlin-native/settings.gradle,添加一行include ‘:hello’
    include ':tensorflow'
    include ':concurrent'
    include ':hello'
    

编译方法1:命令行编译

  上面的步骤中,我们编写了程序,并修改了主配置,添加了我们新建的项目。接下来,我们来编译这个程序。

  1. 打开命令行终端
  2. cd kotlin-native/samples/hello
  3. 执行 ../gradlew build
  4. 此时会打印一堆东西,耐心等待,如果你上面的步骤没有错误,这里最终会打印:

     BUILD SUCCESSFUL
    Total time: 20.522 secs
    

编译方法2:从idea编译

  1. 右键点击:kotlin-native/samples/hello/build.gradle,选择run
  2. 观察控制台输出,如果出现如下提示,说明成功(注意:一定要有KtFile: Hello.kt这一行): 

     KtFile: Hello.kt
    :hello:build
    BUILD SUCCESSFUL
    Total time: 25.053 secs
    
  3. 如果没有KtFile: Hello.kt这一行,就需要给kotlin-native/samples/hello/build.gradle添加运行参数,方法是:
    1. 在idea右上角的“运行”图标的左侧,点击下拉选项,点击“edit configurations”,
    2. 在“Program arguments”后填写“build”。意思是告诉gradle执行build任务。
    3. 再次运行kotlin-native/samples/hello/build.gradle

运行

  编译出来的文件位于:kotlin-native/samples/hello/build/konan/bin,直接在命令行执行它即可,结果如下:


zhmt$ ./build/konan/bin/Hello.kexe
Hello world

至此,我们的第一个kotlin native程序顺利执行。



最后

以上就是呆萌画笔最近收集整理的关于在 mac os 上运行 kotlin native 的第一个程序:hello world的全部内容,更多相关内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部