kotlin可以编译成c代码吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin可以编译成c代码吗相关的知识,希望对你有一定的参考价值。
不可以,只能编译成JAVA。而且除非你只开发安卓。否则我会建议使用纯JAVA。而不要去考虑Kotlin。否则,你将失去两大优势。首先要搞清楚,kotlin与JAVA之间,其实并没有任何关系。kotlin是那个做IDE的Jetbrains公司创造的语言,它只和intellij IDEA这个IDE有关系。只是这个IDE,会在编译的时候,把kotlin转换成JAVA代码。所以kotlin无形中,便把使用者与这个IDE捆绑在了一起。而并不是与JAVA捆绑在了一起。
失去的第一个优势,便是从此无法自由选择IDE。。。对于kotlin来讲,将永远只有一个IDE可以选择。用户会成为Jetbrains公司的奴隶。如果有一天,你必须离开这个IDE,那你将会沦为废物,因为如果没有IDEA,kotlin无法做到任何事,哪怕仅仅一个“hello world”都不能。
失去的第二个优势则更加致命,也是JAVA可以获得成功的原因之一。。。JAVA能做的事情,其实很多其他语言也能做到。。但为什么JAVA可以如此受欢迎?除了JAVA本身的强大之外,还有一个原因在于,JAVA与C#语言,几乎是一模一样的。只有非常细微的差别,不仅语法一样,而且连编程思想都一样。只要掌握其中一门,完全可以在几天之内,无师自通另外一门。然后就可以对照api文档,去开发另外一门语言的程序了。所以学习JAVA的一大亮点就在于“学一门,会两门”。
C#很了不起吗?没错,非常了不起。。它本就可以视作JAVA获得成功的最大幕后英雄。。但我不是来讲故事的,因此微软与sun公司的恩怨情仇不在此深究。
我只说三个关键点,你自然明白其中利害关系。
1,它是微软的官方编程语言,微软的亲儿子,天生的富二代,Visual Studio便是为它量身设计。并且是微软唯一可以跨平台的儿子。。微软前不久又为它专门设计了轻量开发工具VS code。。不远的未来,它将成为微软的独子。未来几年,微软几乎全部工作都将与它有关。
2,它是游戏开发行业的第一大编程语言。占有60%以上的份额。Unity3D,CE5,寒霜,夜光,这四大游戏引擎的标准语言。《口袋妖怪Go》《使命召唤》《FIFA》《极品飞车》《最终幻想14》等数以万计的游戏都是由它开发而成。还包括国内最火的手游《王者荣耀》
3,它是虚拟现实(VR)设备开发的第一大语言。
扔掉JAVA,改用kotlin,也就等于与C#分道扬镳。。。所付出的代价,在我看来是无与伦比的 参考技术A 你就瞎说吧。
一:kotlin可以做java能做的一切事,并且和java100%兼容,互相操作,关于IDE,你能别在搞笑了。难道java就不需要IDE?。
二:kotlin可以做java做不到的其他事,不能搞c?麻烦你去搜下kotlin/native好吗?
三:kotlin的使用场景
那么 Kotlin 的出现究竟能给我们带来什么呢?试想一下,写小工具,我们可以用 kts(Kotlin Script);所有 Java 擅长的 Kotlin 都擅长,而且写起来还比 Java 简洁不少;你甚至可以用 Kotlin 来开发前端程序来替代 JavaScript,尽管这个目前看来还没有很多人用到。而现在呢,我们还可以把 Kotlin 直接编译成 C 一样的机器码来运行,这样一来,Kotlin 将来还可以直接应用于嵌入式等对性能要求比较高的场景,这可真是上的了云端,下的了桌面,写的了网页,嵌的了冰箱啊。 参考技术B 目前 kotlin还是类似java的
~
~
~
~
1Kotlin语言与开发环境
Kotlin 语言最早被设计成运行在JVM(Java 虚拟机)上,使用 Kotlin 编写的程序会被编译成字节码文件,该字节码文件可直接在 JVM 上运行。Kotlin 可以与现有的 Java 语言包保持 100% 的兼容性。
Kotlin 用途
Kotlin 程序可以编译成字节码文件,字节码文件可以直接在 JVM 上运行,因此 Kotlin 非常时刻开发后端应用程序。Kotlin 与现有的 Java 语言包保持完全兼容,它完全可以利用 Java 领域现有的各种技术框架。
Google 官方推荐使用 Kotlin 作为 Android 开发语言,因此 Kotlin 一定会成为以后 Android 开发必备的语言。
Kotlin 程序还可以编译成 JavaScript 代码,Kotlin即可以生成前端使用的 JavaScript 代码,也可以生成后端使用的 JavaScript 代码。
使用命令行编译、运行 Kotlin
下载和安装 Kotlin 的 SDK
到这里下载和安装 Kotlin 的 SDK,下图展示了页面, Kotlin SDK 的最新版本都会发布到该页面。
点击下方 kotlin-compiler-1.3.61.zip 下载压缩包文件。
将该压缩包文件解压到任意目录下,可以看到如下文件路径。
bin:该路径存放了 Kotlin SDK 的各种工具命令,常用的 kontinc(编译命令,等同于kotlinc-jvm命令,将程序编译成适用于 JVM 的字节码文件)、kotlin-js(将程序编译成 JavaScript代码)、kotlin(运行命令) 等命令就放在该路径下。
lib:该目录下包含了 Kotlin 的各种工具 JAR 包。
license :存放与 Kotlin 项目相关的各种授权文档。
将解压缩路径下的 bin 目录添加到系统的 PATH 环境变量中,这样可以保证操作系统可以通过 PATH 环境变量找到 kotlin 的工具命令。
将解压缩路径下 lib 目录中的 kotlin-stdlib.jar 文件(该文件与 kotlin-runtime.jar 文件相同,都代表了 Kotlin 的运行时环境库)添加到 CLASSPATH 环境变量中,这样可以保证运行 Kotlin 程序时可以正常加载 Kotlin 的运行时环境库。
CLASSPATH设置的目的,在于告诉执行环境,在哪些目录下可以找到您所要执行的程序所需要的类或者包。
在CLASSPATH变量中加入下面的值(下面的那一点(.)的一项不能少,目的是可以在当前目录执行程序:
编译、运行 Kotlin 程序
新建一个 Kotlin 程序
编辑 Kotlin 源代码可以使用任何无格式的文本编译器,如记事本等。
在笔记本中新建一个文本文件,并输入如下代码:
fun main(args: Array<String>){ println("Hello, World!") }
Kotlin 代码严格区分大小写。将文件保存为 helloWorle.kt ,Kotlin 源程序的文件名要求以 .kt 结尾。
Kotlin 支持函数式编程,因此 Kotlin 程序值需要一个 main 函数作为程序入口,不需要将该 main() 函数放在任何类中。这个和 Java 程序不同。
编译
编译 Kotlin 程序需要使用 kotlinc 或 kotlinc-jvm 命令(两个命令完全一样),因为已经在前面把 bin 文件夹添加到了系统的 PATH 环境变量中,现在可以直接用该命令编译 Kotlin 程序。
该命令的简单用法如下:
kotlinc -d destdir srcFile
-d destdir 是可选参数,指明编译生成的字节码文件的存放路径。可以用一点(.)表示当前路径。该参数可以省略,省略时表示放在当前路径下。
srcFile 指明源文件所在位置。我们将目录切换到 helloWorle.kt 文件所在目录,输入以下命令
kotlinc -d . helloWorld.kt
运行该命令后会在文件夹内得到新文件:
![](https://img2018.cnblogs.com/blog/1936618/202002/1936618-20200211165258201-903244191.png)
与 javac 命令类似,使用该命令只需指定存放路径就行,不用指定字节码文件的文件名。
使用 kotlinc 编译生成的字节码文件有默认的文件名:
如果 Kotlin 源程序中包含一个或多个函数,kotlinc 会额外生成一个文件,该生成文件的文件名是文件名首字母大写并添加 Kt 后缀,以 .class 作为扩展名;
如果 Kotlin 源程序中包括一个或多个类,kotlinc 则会为每个类生成一个字节码文件,文件名以源文件所定义的各个类的类名做主文件名,以 .class 作为扩展名。运行
运行 Kotlin 程序可以使用 kotlin 或 java 命令,这从这儿可以看出 kotlin 和 java 特殊的关系。
进入上面字节码(HelloWorldKt.class)所在的位置,然后用以下命令运行上面的程序:
java HelloWorldKt
使用IDE编译运行 Kotlin
不管使用什么 IDE ,配置的目的就是两个:
为 IDE 增加 kotlinc 编译器
为 IDE 增加 Kotlin 的运行时环境
Kotlin本身就是 JetBrains 开发的,儿 IntelliJ IDEA 是 JetBrains 自家开发的 IDE 工具,所以在 Kotlin 官网介绍了怎么在 IntelliJ IDE 配置 Kotlin 环境。而且官网也介绍了怎么在 Eclipse 中配置环境,需要的可以到这里查看。
我电脑原来安装过 MyEclipse ,因此我打算在 MyEclipse 中配置 Kotlin 环境。下面讲述怎样在 MyEclipse 2017 中配置 Kotlin 环境。
打开 MyEclipse 2017 ,选择 Help->Install from Catalog... ,如下图:
在弹出的窗口底部选择 Eclipse 图标。因为 Eclipse 商店中有 Kotlin 插件,我们是使用那里的插件。
在上面搜索框内搜索 Kotlin ,然后点击后面的放大镜搜索。在搜索到的下面插件 Kotlin Plugin for Eclipse 的右下角点击 install 。
![](https://img2018.cnblogs.com/blog/1936618/202002/1936618-20200211175945032-28411472.png)
在弹出的窗口中选择接受,然后点击完成,之后会开始安装该插件,安装完成软件会要求重启。
重启后,在 MyEclipse 的 "Window" -> "Perspective" -> "Open Perspective" -> "Other..." 来打开 Kotlin 的 Perspective ,如下图:
在弹出的界面选择 Kotlin 后点击 OK 。
按上述步骤选择后会回到主界面,选择 File -> New -> Kotlin Project 新建一个 Kotlin 项目。
查看左侧项目目录,可以看到 Kotlin 项目就是比 Java 项目额外增加了 Kotlin 运行时环境库。
右键单击 src 目录,新建 Kotlin File。
新建 helloWorld 文件,在右边编译器输入代码,点击上方运行,可以看到下面控制台输出。
以上是关于kotlin可以编译成c代码吗的主要内容,如果未能解决你的问题,请参考以下文章