惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
D
DataBreaches.Net
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
腾讯CDC
博客园_首页
The Cloudflare Blog
S
SegmentFault 最新的问题
C
Check Point Blog
美团技术团队
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale

Scala

这个分类好久没新帖子了,记录下最新用 scala 3 写的项目 sbt run 的时候,能不能跳过 compile 直接 run? 还有必要用 scala 吗 有 scala 兄弟吗?有招 scala 的公司吗? Scala 单元测试 scala 模型导出问题 想用 Springboot 做后端接口,但组里 scala 大佬希望我用 Akka Http 怎么办 可能是家庭背景最深厚的程序员写的书... 集合类型 filter 后执行 foreach 的效率 比 foreach 里写 if 来的慢 sbt 为什么能这么垃圾? sbt 1.3.0 released, 依赖管理从 ivy 变为 Coursier 如何停止已经提交到 Spark 集群上的任务? Scala 元编程:在日志库中的应用 关于《Scala 编程(3rd)》中, 20.6 抽象类型 P424 的疑问 请教下关于用 Flume+kafka+Spark 实现实时监控错误日志报警的功能 Scala 中不带具体实现的 object 是什么用法 scala 命令行删除字符不能正常显示 spark 技术面试被问到个问题,有点问懵逼了,求指点 scala 中 _ 的语法问题 [小广告] scala 中文 telegram 群组: t.me/scala_zh Scala 中国社区、微信群? Scala's types of types 译文 Scala 自学笔记-参考书籍 Programming in Scala 第三版 scala 如何实现某个代码段同一时刻只能有一个进程在读,其他进程只能等待。 请问该怎样结合实践去学习 Scala,谢谢! 欢迎来访开放源码的 PlayScala 社区(http://www.playscala.cn) 请问我下载了乌云的 digatalAllData,说明上写着用 case class 解析出数据,那有没有详细的方法? 嘿,Scala 这货你们都应用在什么项目上了,打算接触试试呢~ sbt package 将 scala 源代码一并打包进去? 大家都用什么 orm 或 mysql db library
闲话 Scala Native: 初次见面,请多多关照
sadhen · 2019-03-01 · via Scala

首先用 scala-native 的 g8 模板创建一个脚手架:

$ sbt new scala-native/scala-native.g8
...
A minimal project that uses Scala Native. 

name [Scala Native Seed Project]: scala-native-playground

Template applied in /path/to/scala-native-playground

只要输入你想创建的工程的名字,整个脚手架就搭建起来了。

我们试着编译运行一下这个脚手架:

$ cd scala-native-playground
$ sbt
sbt:scala-native-playground> compile
[info] Non-compiled module 'compiler-bridge_2.11' for Scala 2.11.12. Compiling...
[info]   Compilation completed in 6.179s.
[info] Done compiling.
[success] Total time: 177 s, completed 2019-2-24 10:24:54
sbt:scala-native-playground> run
[error] no clang60, clang-6.0, clang50, clang-5.0, clang40, clang-4.0, clang39, clang-3.9, clang38, clang-3.8, clang37, clang-3.7, clang found in $PATH. Install clang ( http://www.scala-native.org/en/latest/user/setup.html)
[error] no clang++60, clang++-6.0, clang++50, clang++-5.0, clang++40, clang++-4.0, clang++39, clang++-3.9, clang++38, clang++-3.8, clang++37, clang++-3.7, clang++ found in $PATH. Install clang ( http://www.scala-native.org/en/latest/user/setup.html)
[error] (nativeClang) no clang60, clang-6.0, clang50, clang-5.0, clang40, clang-4.0, clang39, clang-3.9, clang38, clang-3.8, clang37, clang-3.7, clang found in $PATH. Install clang ( http://www.scala-native.org/en/latest/user/setup.html)
[error] (nativeClangPP) no clang++60, clang++-6.0, clang++50, clang++-5.0, clang++40, clang++-4.0, clang++39, clang++-3.9, clang++38, clang++-3.8, clang++37, clang++-3.7, clang++ found in $PATH. Install clang ( http://www.scala-native.org/en/latest/user/setup.html)
[error] Total time: 0 s, completed 2019-2-24 10:26:01

能正常编译,但是运行的时候会报错。按照提示,我们需要安装一些依赖:

$ sudo apt install clang libunwind-dev

然后,在重新在 sbt 的 REPL 里面敲 Run 就可以了。大概是这样:

sbt:scala-native-playground> run
[info] Linking (534 ms)
[info] Discovered 800 classes and 4709 methods
[info] Optimizing (debug mode) (742 ms)
[info] Generating intermediate code (242 ms)
[info] Produced 39 files
[info] Compiling to native code (332 ms)
[info] Linking native code (immix gc) (60 ms)
Hello, world!
[success] Total time: 3 s, completed 2019-2-24 10:27:45

整个过程还是比较流畅的,没有遇到特别浪费时间的事情,by the way,我所用的 Scala Native 版本是 0.3.8,这一点从project/plugins.sbt可以知道。

$ cat project/plugins.sbt                                                                                                    
addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.3.8")

====> 点我返回文章目录 <====