BLO9
Kotlin 등 개발 관련 포스팅합니다.
[자바에서 코틀린으로 - 8] Kotlin Navite로 C 라이브러리 사용 및 연동 - 기초
src/
    main/
        c_interop/
            stdio.def <- c 라이브러리 설정
        kotlin/
            Hello.kt <- 코틀린 파일
build.gradle

build.gradle

// 네이티브 라이브러리 저장소 설정
buildscript {
    repositories {
        mavenCentral()
        maven {
            url "https://dl.bintray.com/jetbrains/kotlin-native-dependencies"
        }
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:+"
    }
}

// 네이티브 라이브러리 빌드 플러그인
apply plugin: 'konan'

// 네이티브 라이브러리 설정
konanInterop {
    stdio { } // c 라이브러리 설정 이름
}

konanArtifacts {
    Hello { // 코틀린 파일명(소문자는 안됨)
        useInterop 'stdio' // c 라이브러리 설정 이름
    }
}

stdio.def

headers = stdio.h stdlib.h string.h time.h
compilerOpts = -D_ANSI_SOURCE
---

static char * hello_message() {
    return "Hello, World!";
}

Hello.kt

// 네이티브 라이브러리
import kotlinx.cinterop.*
// 상동
import stdio.*

fun main(args: Array<String>) {

    // 위에 선언했던 함수
    println(hello_message()?.toKString()) // char[]/*을 스트링으로 변환

    // c random 초기화
    srand(time(null).toInt())
    (0..2).forEach {
        // c random 값.
        println("Random value ${rand()}")
    }

}

풀 소스 (github/park9eon/kotlin-with-c)[https://github.com/Park9eon/kotlin-with-c]

[자바에서 코틀린으로 - 6] 스위프트는 사실 코틀린을 참고했다??

많은 사람들이 코틀린을 설명을 할 때 “스위프트와 비슷하다.” 라고 설명을 하는데 이는 조금 틀린 것 같다. 코틀린은 2011처음 세상에 나왔고 스위프트는 2014에 처음 나왔다. 코틀린은 발전 속도가 느리고 개발자들 사이에서 인기가 없어 많은 사람들이 몰랐지만 코틀린이 더 오래됬다.

println(kotlin is Swift)  // false
println(swift is Kotlin) // true