Kotlin Native 梳理
最近在 kotlin/native 上适配鸿蒙,感觉坑很多。而且 kotlin/native 相当于用 kotlin 写 c/c++,出现内存问题,一样挠头
其次,kotlin/native 因为要适配 iOS 的 platform,和 xcode 绑定的也很死,同时自己又和 llvm 绑定的很死,编译的时候有各种问题,比如 kotlin 1.9.x 没法和 xcode16 一起使用···
最近在 kotlin/native 上适配鸿蒙,感觉坑很多。而且 kotlin/native 相当于用 kotlin 写 c/c++,出现内存问题,一样挠头
其次,kotlin/native 因为要适配 iOS 的 platform,和 xcode 绑定的也很死,同时自己又和 llvm 绑定的很死,编译的时候有各种问题,比如 kotlin 1.9.x 没法和 xcode16 一起使用···
为什么选这个奇怪的时间写下这篇文章呢?因为我终于确定了一个 offer 了!(当然后续可能也有幺蛾子,比如小米 offer call 以后,又说没有 hc,雷总···你们招人也太奇怪了···)。然后,这段时间的经历实在让我脑壳子嗡嗡的,又做了一次人生的错误决定来到传说中的宇宙条,不过人生的魔抗叠厚了不少···
最近做日志治理(其实也没啥治理的),发现日志存活时间很短,因为各个业务方的日志汇总在一个实例里,有任何无用日志频繁打印,都会把日志覆盖掉
那其实,治理的办法也很简单:
为了兑现自己立下的 flag 🤣,这两天刚好假期前,继续实现 JVM
打算定个小目标:每个月更新一次 LearnJVM 这个项目
第五章的指令好多好多,所以还在不断地 copy & paste
实现的途中发现了 ICONST_X 指令很有意思,如下图:
虽然今天是愚人节,但是还是要立下 flag,重启 JVM 项目
之前,一方面想学习 rust,一方面也想更深入的理解 JVM,于是这么一个项目就诞生了
源码来自 《自己动手写Java虚拟机》,我将 go 翻译为 rust(但是因为很多 rust 概念刚接触,写的结构很凌乱,也都不是最佳实践,只求编译通过)
今天 pull 工程,发现有个库的源码看不到,在 gradle external libraries 中也找不到,只能找到一个 api 接口层的代码
于是,就研究了一下原因
我们在向 maven 发布 aar 时,会生成对应的 pom 文件,告诉我们具体依赖哪些额外 lib
最近 KMP 或者说 KMM 在移动端挺火,我非常好奇它是如何跨端的
看了一下官方文档,只知道是通过 LLVM 把 Kotlin 转为 IR 再转为目标平台二进制。这部分我目前还没去分析,因为 LLVM 相关的知识我实在知之甚少,后面也会去补足
为了公司内部写一篇软文,所以这篇文章重写了一下~~
今天给大家分享一种 arm64 平台下栈回溯的方式 —— fp(frame pointer) 回溯,同时会介绍一些基础概念和实现原理
首先,我们需要知道栈回溯是做什么的?
其实就是用于获取当前 thread 的调用堆栈的
最近不知道为什么,我司又开始缩减包体积了,在这个 app 都 100-200M 的年代,在这个 5G 遥遥领先的年代,不知道卷个啥?
那问题不大,既然有需求,我们照做便是
Android 包体积由多方面构成,这个我之前的文章里也有说过,所以包体积缩减的手段有很多,这个就不一一介绍了
前段时间看了下 Elk(十分简单的 JS VM,其实算是个 parser + interpreter 吧)的代码,学到了一些计算机基础的东西。
比如,我写代码这么久,甚至不知道 double 的内存结构和 7FF 代表什么。比如,因为没有系统学习过编译原理等等,没有 opcode 相关的概念,如何设计 interpreter(又想回去读书了···)。