# Kotlin/Native # _Kotlin/Native_ is a LLVM backend for the Kotlin compiler, runtime implementation and native code generation facility using LLVM toolchain. _Kotlin/Native_ is primarily designed to allow compilation for platforms where virtual machines are not desirable or possible (such as iOS, embedded targets), or where developer is willing to produce reasonably-sized self-contained program without need to ship an additional execution runtime. _Kotlin/Native_ could be used either as standalone compiler toolchain or as Gradle plugin. See [documentation](https://kotlinlang.org/docs/reference/native/gradle_plugin.html) for more details on how to use this plugin. Compile your programs like that: export PATH=kotlin-native--/bin:$PATH kotlinc hello.kt -o hello For an optimized compilation use -opt: kotlinc hello.kt -o hello -opt To generate interoperability stubs create library definition file (take a look on [Tetris sample](samples/tetris)) and run `cinterop` tool like this: cinterop -def lib.def See [C interop documentation](https://kotlinlang.org/docs/reference/native/c_interop.html) for more information on how to use C libraries from _Kotlin/Native_. See [`RELEASE_NOTES.md`](https://github.com/JetBrains/kotlin-native/blob/master/RELEASE_NOTES.md) for information on supported platforms and current limitations.