Files
kotlin-fork/FAQ.md
T
Ilya Matveev d9a07c6b61 [readme] Improve gradle-plugin readme
* Describe framework and dynamic library building
    * Describe setting custom targets for an artifact
2018-01-24 15:24:59 +07:00

997 B

Q: How do I run my program?

A: Define top level function fun main(args: Array<String>), please ensure it's not in a package. Also compiler switch -entry could be use to make any function taking Array<String> and returning Unit be an entry point.

Q: What is Kotlin/Native memory management model?

A: Kotlin/Native provides automated memory management scheme, similar to what Java or Swift provides. Current implementation includes automated reference counter with cycle collector to collect cyclical garbage.

Q: How do I create shared library?

A: Use -produce dynamic compiler switch, or konanArtifacts { dynamic('foo') {} } in Gradle. It will produce platform-specific shared object (.so on Linux, .dylib on macOS and .dll on Windows targets) and C language header, allowing to use all public APIs available in your Kotlin/Native program from C code. See samples/python_extension as an example of using such shared object to provide a bridge between Python and Kotlin/Native.