kotlinnative调用C动态库

准备环境

我们提供的服务有:成都网站设计、成都网站建设、微信公众号开发、网站优化、网站认证、萍乡ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的萍乡网站制作公司

  1. 安装fedora31
  2. 编译kotlin native
  3. 创建 hello.h 头文件,在其中输入如下代码
#ifndef HELLO_H 
#define HELLO_H 

void sayHello();

#endif
  1. 创建hello.c文件,在其中输入如下代码
#include "hello.h"
#include 

void sayHello()
{
    printf("Hello Kotlin Native\n");
}
  1. 编译hello.c,生成动态链接库
mkdir lib

gcc -shared -fPIC -o lib/libmyhello.so hello.c
  1. 创建hello.def文件

    headers=hello.h
    headerFilter=hello.h
    package=hello

linkerOpts = -L/tmp/kotlin/lib -lmyhello #如果不加这一行,使用kotlinc编译main.kt则需要加上 -linker-options '-L./lib -lmyhello'

```
  1. 执行如下命令用以分析hello.h文件,并自动生成kotlin定义
cinterop -def hello.def -compiler-option -I. -o hello
  1. 命令执行后的结果
    kotlin native 调用 C 动态库
  2. 创建main.kt文件
import hello.*

fun main(args: Array)
{
sayHello()
}
  1. 编译main.kt
    kotlinc main.kt -library hello  -o main
  2. 执行文件
    kotlin native 调用 C 动态库

  3. 参考链接
    https://github.com/plter/SimpleKotlinNativeCallCDemo
    https://github.com/JetBrains/kotlin-native/blob/master/INTEROP.md

网站标题:kotlinnative调用C动态库
标题来源:http://hxwzsj.com/article/ijgojd.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 手机网站制作 高端网站设计 成都网站设计制作公司 成都网站建设 营销网站建设 成都网站建设公司 成都商城网站制作 重庆网站建设 成都网站建设 成都h5网站建设 梓潼网站设计 重庆外贸网站建设 定制网站制作 成都定制网站建设 自适应网站设计 网站设计 成都网站建设 手机网站制作 网站制作公司 成都品牌网站设计 企业网站设计 高端网站建设