是否应该从公司级统一升级Android NDK版本? 如果我们的引擎SDK升级到NDK25,那么调用我们的app都要升级NDK25. 我们的SDK也要给微信,手Q使用,如果让他们也去升级NDK25,不太现实
背景 之前在解决一个Flutter Engine的C++ Crash问题时,就曾受困于一个问题:如何回溯C++的 函数调用栈?最近频繁使用C++的过程中,这个诉求日益突出。 遂下定决心彻底解决之。 过程 在stac
最近在灰度的时候发现了一个Error: 详细信息如下: 结合机型分布,可以判断是部分ROM自己的修改导致的问题(因为已经走到系统Api里面了)。 最后直接catch住了,因为触发的机型其实很少,灰度15w,
Java URL类踩坑指南 java.net.URL类的几个细节问题。 背景介绍 最近再做一个RSS阅读工具给自己用,其中一个环节是从服务器端获取一个包含了RSS源列表的json文件,再根据这个json文件下载、解
‘Python爬虫实战:妹子图’ 本文记录了一些爬虫的基础知识,并实现了一个50行左右的爬虫脚本。 前言 看了一些Python的语法后打算做一个小项目练手,打发一下时间。爬虫比较容易
学习HotSpot(一):Launcher 《Java虚拟机精讲》学习笔记:剖析HotSpot的Launcher。 HotSpot源码目录 可以用tree命令查看源码层次,对源码层次有一定印象有助于学习每个
大端(Big Endian)与小端(Little Endian) 本文记录了计算机中存在的两种数据存储模式及其对网络编程的影响。 内存抽象 在较高层次上,可以把内存抽象成一个很大的数组。唯一不同的是,一个元素(
C语言实现IPv6抓包程序 本文记录了如何借助libpcap实现一个简单的抓包程序。 准备 对于实现一个抓包程序,最重要的是熟悉每种协议。熟悉协议包括两部分:每个协议具体字段的意义和每个协议在C语言中对应的
Build Your Own Lisp中的闲言碎语 Build Your Own Lisp中的一些摘录。 前不久,读完了Build Your Own Lisp。作者用C语言写了一个简单的Lisp解释器,代码之精妙、设计之优雅确实让我受益匪浅! 不过,除了跟着作者写代码,
关于C/C++中指针自增运算符的思考 本文记录了C/C++中指针自增运算的一些微妙特性。 问题引入 C代码: #include <stdio.h> int main(int argc, char const* argv[]) { int a = 1, *p = &a; ++++p; ++p++; return 0; } C++代码: #include <bits/stdc++.h> int main(int argc, char const* argv[]) { int a = 1, *p = &a; ++++p; ++p++; return 0; } 编