Wine:一个有问题的程序集所引起的栈溢出
有一款 WPF 应用在 Wine 下启动时,会重复不断地打印很多如下的 log,最后因 StackOverflowException 而崩溃:
err:ole:TLB_ReadTypeLib Loading of typelib L"C:\Program Files\xxxxx\xxxxxxx.tlb" failed with error 2
有一款 WPF 应用在 Wine 下启动时,会重复不断地打印很多如下的 log,最后因 StackOverflowException 而崩溃:
err:ole:TLB_ReadTypeLib Loading of typelib L"C:\Program Files\xxxxx\xxxxxxx.tlb" failed with error 2
Wine AppDB 上记录的对 Adobe InDesign CS6 支持不错,但在使用的过程中,有一个严重的 bug。若是选择 “Adobe 打印” 的方式导出 pdf,会造成程序的崩溃。
Wine 是一个免费和开源的兼容层,目的是为了在类 Unix 操作系统上运行 Windows 应用。Wine 的特殊之处是它并不是像模拟器一样模拟出一个完整的 Windows 环境。而是將 Windows API 调用转换为 POSIX API 调用,重新创建 Windows 的目录结构,并提供 Windows 系统库、系统服务和其它各种组件的替代实现。以让 Windows 原生应用二进制,无需经过修改,或重新编译,就可运行在 Linux/MacOS/Android 系统上。
在 Android 8.0 时,Treble Project 重新设计了 Android 操作系统框架,以便让制造商能够以更低的成本,更轻松、更快速地将设备更新到新版 Android。在这种新架构中,采用 HIDL(HAL 接口定义语言,发音为 “hide-l”)来指定 framework 和 HAL 层之间的接口,从而可以实现无需重新编译 HAL,只烧写 GSI 便能升级系统。
这部分的笔记在国庆假期前就整理好了,然后说再加工一下,放到 blog 上,毕竟笔记只是适合自己看,没有很强的逻辑性。但每个假期回来后,都会患上一定的假期综合征,总需要几天收收心。就一直拖到现在,简直无可救药。
OOP 的三大特征:封装、继承、多态。以前记忆的时候都是不分先后,随便记忆的,加深理解后才知道这三个特性是一个递进的过程。最后的多态是在继承的基础之上的。
这里先从 JVM 方法调用说起,最后在得出多态的概念。
最近在看周志明的《深入理解 Java 虚拟机》这本书,不得说,学习 JVM 对更深层次理解 Java 有很大的帮助,两者互相印证。像打通了任督二脉一般,对 OOP 和 语法这块为什么要这么设计,语法为什么要这么写豁然开朗,融汇贯通后也更便于记忆这些知识点。
文章大多摘自自己的 Wiki JavaBasic,都是对知识点的总结,加上自己的理解后一条条写下的。难免有很多理解错误的地方,自己前前后后也纠正了不少,也是一个学习的过程。
关于常量池这块,本来就知道一个字符串常量池,可是看了 JVM 后,又冒出了好几个常量池,顿时懵逼了。看了大量资料,理解后总结出了这么点知识。
上半年为了学位写了一篇论文,今天把它转成了 markdown 格式,便于分享。全文在我的 Wiki里,算是全文吧,去除了很多论文必须的废话。并把其中的干货拿出来放到这里。
文章对高通的安全引导机制进行了简单分析,并在小米一款机器上综合漏洞成功绕过了其安全引导机制,达到自由修改系统分区的目的。
少了一条腿的大蜘蛛,摄于九月中旬西山香巴拉中途
这几天看到一个主题,自己非常中意。
一看是 Hexo 下的,早前就想切到这个框架下,但拖延症严重,一直未动手。恰好赶上这个时机,自己又闲来无事,遂动手。
都是些琐碎的配置工作,自己的文章又不多,索性一篇篇的来修改,又把以前没注意的一些排版上的问题给纠正下。主要添加了一个以前没接触过的 leancloud 的统计。